当WordPress位于https代理(您的负载平衡器)之后时,它不知道https已启用。代理通过https(443端口)工作,但代理和WordPress之间的通信通过http(80端口)进行。因为WordPress流量是通过http的,所以您会得到从https到http(通过WordPress)以及从http到https(通过代理)的重定向循环。您需要强制WordPress开始使用https。
将此行粘贴到wp-config.php
$_SERVER[\'HTTPS\'] = \'on\';
有时代理发送额外的标头
HTTP_X_FORWARDED_PROTO
向WordPress发送消息,告知原始流量位于https上。你可以用它来更灵活一点
if (isset($_SERVER[\'HTTP_X_FORWARDED_PROTO\']) && $_SERVER[\'HTTP_X_FORWARDED_PROTO\'] === \'https\') {
$_SERVER[\'HTTPS\'] = \'on\';
}
更改
WP_SITEURL
和
WP_HOME
使用https。并将数据库中的所有链接替换为https。
参考号:https://developer.wordpress.org/reference/functions/is_ssl/