MediaWiki 会话和 cookie 在 CloudFlare 后面的多服务器上不起作用
Posted
技术标签:
【中文标题】MediaWiki 会话和 cookie 在 CloudFlare 后面的多服务器上不起作用【英文标题】:MediaWiki sessions and cookies not working on multi-server behind CloudFlare 【发布时间】:2014-10-08 15:46:03 【问题描述】:我有一个在多个 AWS 实例上运行的 MediaWiki,但登录和注册失败。 session.save_path 设置为 /tmp,任何人都可以写入和读取。我使用 Apache2 和 php5 以及 MEMCACHED。
每当您尝试登录时,您都会被告知有防止会话劫持的保护,或者您已关闭 cookie。这些是错误:
您的登录会话似乎有问题;此操作已被取消,以防止会话劫持。返回上一页,重新加载该页,然后重试。
Wiki 使用 cookie 来登录用户。您禁用了 cookie。请 启用它们并重试。
我使用“.domain.tld”格式的共享 cookie 域,整个域位于 CloudFlare 和 Amazon ELB 负载均衡器之后。所有 LocalSettings.php 都是一样的,Apache 有共享配置。
【问题讨论】:
您没有提到您是否在 ELB 上配置了会话粘性/亲和性...docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/… 有趣的 AWS 问题,请回答 @Michael-sqlbot。 :) 注意,根据wikiapiary.com/wiki/Host:Hosts/By_hostname,AWS 上有数百个 MediaWiki wiki,所以必须有解决方案。也许他们的配置是免费软件,去看看吧! 【参考方案1】:根据Aaron Schulz,不要使用默认会话处理,这是灾难性的。
因为你已经启用了 memcached,所以添加
$wgMainCacheType = CACHE_ANYTHING;
$wgSessionsInObjectCache = true;
在您的LocalSettings.php
中,让我们知道情况是否有所改善(他们绝对应该)。
【讨论】:
以上是关于MediaWiki 会话和 cookie 在 CloudFlare 后面的多服务器上不起作用的主要内容,如果未能解决你的问题,请参考以下文章