对此的答案部分来自this answer, 链接到的the Codex, 建议将以下代码段放置在wp配置文件的顶部:
if (strpos($_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false)
$_SERVER[\'HTTPS\']=\'on\';
不幸的是,这并没有完全解决我的问题,但我注意到如果我删除
if
一直都是这样
$_SERVER[\'HTTPS\']=\'on\';
. 如果您希望始终在站点上强制使用SSL,那么应该可以做到这一点。
但是,如果希望同时允许http和https,则需要调整nginx配置。添加以下行:
proxy_set_header X-Forwarded-Proto $scheme;
这是标题
if
以上情况正在查找。通过将nginx设置为将请求的方案(http或https)作为
X-Forwarded-Proto
, 您正在让WordPress查看原始方案是什么,以便它知道如何操作。
完成后,您的WP站点应该可以通过http和https正常工作。