2017-05-16 26 views
0

我在其他(主)Web服務器後面運行Wordpress。主服務器確實有一個規則來/ WPA WordPress的服務器的所有請求重定向用的ProxyPass使用ProxyPass將WordPress的http更改爲使用Load Balancer後面的https

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終止在負載平衡器完成。

問題是,Load Balancer後面的所有流量都是非ssl的。 如果我從http更改Wordpress homeurl和siteurl到https,我得到一個重定向錯誤(循環)。

我試圖在主服務器上使用這樣的規則:

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

仍然獲得了重定向錯誤。我試圖檢查RewriteLog,但我找不到正確的信息。

有沒有人有線索如何解決這個問題?

回答

1
  1. 使用下面在WP-config.php中代碼,

定義( 'FORCE_SSL_ADMIN',TRUE);
define('FORCE_SSL_LOGIN',true);
if($ _SERVER ['HTTP_X_FORWARDED_PROTO'] =='https')
$ _SERVER ['HTTPS'] ='on';

  1. 檢查你的.htaccess文件,它應該是乾淨的。
  2. 重新保存永久鏈接。
  3. 如果使用CDN,則啓用443端口。
+0

謝謝你,$ _SERVER ['HTTPS'] ='on'適用於我。我們還使用$ _SERVER ['HTTP_HOST'] = $ _SERVER ['HTTP_X_FORWARDED_HOST']來使用主Apache服務器的主機名/ URL。 – vine

+0

還有一些:我用我的舊htaccess。我之前沒有清理它,但它工作正常。 – vine

相關問題