Dan*_*iel 7 wordpress ssl cloudflare
在CloudFront灵活SSL后面设置时,无法通过https访问管理员.
管理员在通过http访问时工作正常,但是一旦我更改为安全https,它就会在重定向循环中结束.
我正在添加以下行wp-config.php以强制管理员中的SSL.
define('FORCE_SSL_ADMIN', true);
Run Code Online (Sandbox Code Playgroud)
Dan*_*iel 37
这是因为CloudFlare的灵活SSL作为反向代理运行,并通过连接到WordPress安装http.Wordpress认为您正在连接http并重定向到https资源.浏览器https从CloudFlare 请求资源,CloudFlare再次http从WordPress服务器请求资源,导致另一个重定向.
幸运的是有一个解决方案.CloudFlare发送一个http标头X-FORWARDED-PROTO,它是从浏览器到CloudFlare服务器的连接中使用的协议.我们可以使用它告诉WordPress即使请求发生了http,浏览器的链接也结束了https.
在wp-config.php文件中添加以下行:
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';
Run Code Online (Sandbox Code Playgroud)
上述行在以下行之前也是至关重要的:
require_once(ABSPATH . 'wp-settings.php');
Run Code Online (Sandbox Code Playgroud)
进行修改后,重定向循环将停止,您将能够再次使用管理员.
这最终适用于所有反向代理服务器,而不仅仅是CloudFlare.
| 归档时间: |
|
| 查看次数: |
8346 次 |
| 最近记录: |