Yes would only be for subfolder setups, also not sure what to do about leftover cookie
Were any of the recent subfolder changes helpful here on this front?
I don’t recall changing anything in this department recently.
7 年过去了,_t cookie 仍未设置 Path
![]()
运行版本 v3.4.2
我托管了两个服务器,每个服务器运行约 15 个 discourse 实例,使用子目录。未为 _t cookie 设置 Path 是一个相当大的痛点。
DISCOURSE_TOKEN_COOKIE 也未在任何地方记录。
在 Google 上搜索只有 3 个结果:此帖子、一个指向定义该变量的 GitHub 的代码链接以及一个指向名为 isharkfly 的 404 链接。
我花了 6 个多月才找到这个帖子。
很遗憾,你是对的 - _t cookie 仍然没有关联的路径。这是我们想做的事情,但“子文件夹”安装相当罕见,而同一域名上的多个子文件夹安装则更为罕见。所以它还没有被优先考虑。
我看了一下我们托管的一组子文件夹站点,我们的解决方法似乎是为域名上的每个站点重命名 cookie。因此,假设你使用的是我们的标准安装 YAML 文件,你需要在每个文件中添加如下内容:
env:
DISCOURSE_TOKEN_COOKIE: _t_mysite
(其中 mysite 对于每个论坛都是不同的)
是的。 我现在已经添加了这个。 但是用户仍然存在问题,即在切换实例时,他们需要重新验证的次数超过了应有的次数。
但最大的问题是发现此功能可用。 我只有通过阅读源代码才找到它,而我找到此帖子的唯一方法是在我已经知道它存在之后搜索确切的设置名称。
明白了。感谢您在此发帖!
论坛是公开的吗?可以分享一些网址吗?
它们是大学课程的论坛。因此,它们是私有的。
URL 格式为 discourseX.university.url/\u003cyear\u003e/\u003ccourse-name\u003e
你的DISCOURSE_TOKEN_COOKIE是否包含了年份和课程名称?
是的,它是 _discourse-\u003cyear\u003e_\u003ccourse-name\u003e_t
我再次要求正确地将 _t cookie 的路径范围限定为实例的路径。
我遇到了 DISCOURSE_TOKEN_COOKIE 变通方法又一个问题。
我目前管理两个域,每个域运行 40 个,是的,四十个 Discourse 实例。(我明白这可能不是你们典型的用例)。
即使使用 DISCOURSE_TOKEN_COOKIE 重命名,cookie 也只限定于域,而不是路径。
这意味着该域的所有请求都会发送该域的所有 cookie,而不管路径如何。
使用 40 个重命名的 cookie,每个请求都会发送一个有用的 cookie 和 39 个无用的 cookie。
嗯,它会发送 39 个无用的 cookie,除了在发送大约 30 个之后,请求太长了,我收到一个 400 响应,消息如下:
请求头字段的大小超过服务器限制。