繁体   English   中英

使用ProxyPass在负载均衡器后面将Wordpress http更改为https

[英]Changing Wordpress http to https behind a Load Balancer with ProxyPass

我在其他(主)网络服务器后面运行Wordpress。 主服务器确实有一条规则,可以使用ProxyPass将对/ wpa的所有请求重定向到Wordpress服务器

ProxyPass /wpa/ http://vm.example.com/wpa/
ProxyPassReverse /wpa/ http://vm.example.com/wpa/

Wordpress本身在Wordpress根目录中带有以下.htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wpa/

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wpa/index.php [L]
</IfModule>

http一切正常。 但是我想切换到https,这是一个问题。 SSL终止是在负载均衡器上完成的。

事实是,负载均衡器后面的所有流量都是非SSL。 如果将Wordpress homeurl和siteurl从http更改为https,则会收到重定向错误(循环)。

我试图在主服务器上使用如下规则:

RewriteCond %{HTTPS} !=on
RewriteRule ^/wpa/(.*)$ https://www.example.com/wpa/$1 [L,R=301]

仍然会收到重定向错误。 我尝试检查RewriteLog,但是找不到正确的信息。

有谁知道如何解决这个问题?

  1. 在wp-config.php中使用以下代码,

define('FORCE_SSL_ADMIN',true);
define('FORCE_SSL_LOGIN',true);
如果($ _SERVER ['HTTP_X_FORWARDED_PROTO'] =='https')
$ _SERVER ['HTTPS'] ='on';

  1. 检查您的.htaccess文件,它应该是干净的。
  2. 重新保存永久链接。
  3. 如果使用CDN,请启用443端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM