4.9.5负载均衡器后面的中断站点,转发到本地主机

时间:2018-04-04 作者:Stephen

我在负载平衡器后面有两台wordpress web服务器。当从4.9.4更新到4.9.5时,如果从主域访问,这些站点就会中断(但如果我使用它们的备用地址,则仍然可以访问,这对于我们的最终用户来说是不可能的)。而不是通过转到主域来加载站点https://example.com, 每个访问域的人都会被定向到https://localhost. 正如我所说,如果有人访问https://wp1.example.comhttps://wp2.example.com, 这些网站很有效。现在,我已经恢复到4.9.4版本,它解决了这个问题,但我想找出一个长期的解决方案。有什么建议吗?

仅供参考,在我的wp配置文件中,我正在使用以下指令:

define(\'WP_SITEURL\', \'https://\' . $_SERVER[\'HTTP_HOST\']);
define(\'WP_HOME\', \'https://\' . $_SERVER[\'HTTP_HOST\']);
UPDATE:我想我找到了发生这种事的原因(https://core.trac.wordpress.org/changeset/42894) 但仍然没有可行的解决方案。

1 个回复
最合适的回答,由SO网友:Stephen 整理而成

多亏了@Pabamato,我才能够解决这个问题,并通过将wp-config指令更改为:

define(\'WP_SITEURL\', \'https://\' . $_SERVER[\'SERVER_NAME\']);
define(\'WP_HOME\', \'https://\' . $_SERVER[\'SERVER_NAME\']);
并向我的nginx conf中添加一个参数,以正确说明可变服务器名称:

fastcgi_param SERVER_NAME $host;
如果没有以上两者,我的特定设置将无法正常工作。

UPDATE: 说得太早了,如果连接到负载平衡器,所有类型的页面格式都很糟糕,尽管ssl内容修复程序不安全。恢复到4.9.4,取消了更改,问题消失了。仍在寻找完整的解决方案。。。

UPDATE 2: 我想我终于把我最后的问题与permalink问题联系起来了。现在清除这些似乎都可以(至少在我的测试环境中)了,所以我将把它标记为解决方案。

UPDATE 3: 我错了,清除permalinks不起作用,它只是在我的测试站点(test.example.com)上看起来起作用,实际上它起作用了,因为所有子域都起作用(例如test.example.com、www.example.com等),而主域无论我做什么都不起作用。所以,强迫我的网站总是使用www子域是可行的,但很糟糕,我也不知道为什么。在任何情况下,以下是我的wp config新代码:

if($_SERVER[\'HTTP_HOST\'] == \'wp1.example.com\') {
    define(\'WP_SITEURL\', \'https://wp1.example.com\');
    define(\'WP_HOME\', \'https://wp1.example.com\');
  } else {
    define(\'WP_SITEURL\', \'https://www.example.com\');
    define(\'WP_HOME\', \'https://www.example.com\');
  }

结束

相关推荐

Updates for a private plugin?

如果我写一个私有插件,有没有办法使用WordPress自动更新机制来更新它 我想封装这个功能,但它是我自己的5个博客特有的,所以它不是公共插件资源的好候选。但我喜欢这种简单的更新机制 有没有办法做到这一点