【发布时间】:2019-10-31 01:22:38
【问题描述】:
我有一个 WordPress 站点在 nginx 后面的 Docker 中使用 HTTPS (Letsencrypt) 运行,但我遇到了一些无法加载的基本脚本的问题,因为浏览器声称它们未经身份验证。我还在主页上看到了可怕的“跳到内容”链接。我使用 jwilder/nginx-proxy 和letsencrypt 伴侣进行设置。我所有的站点数据都是从 MySQL 转储中加载的,我最初的假设是我必须将转储文件中的所有 http://example.org 条目更改为 https://example.org。但是我得到了一个 301 重定向(浏览器中的“重定向太多”错误),所以我将所有链接都改回了 http。现在网站加载,但出现未经身份验证的错误(当然,如果我接受网站加载的未经身份验证的链接)。
我已经看到 several solutions 对此,或者我认为可能是解决方案,这似乎都涉及向 .htaccess 和/或 wp-config.php 添加条目。确实将以下内容添加到我的 wp-config.php 似乎可以解决“跳到内容”问题:
/** SSL */
define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
但是,有些网页仍然抱怨未经身份验证的内容,并且该网站并不完全安全……不知道还能做什么。我也需要修改 .htaccess 吗?
【问题讨论】:
标签: wordpress nginx lets-encrypt jwilder-nginx-proxy