反向代理背后的混合内容与SSL、WordPress

时间:2017-01-22 作者:Owen

我遇到了SSL问题的混合内容。我已经在反向代理(articaproxy)后面为我的测试wordpress站点申请了Let’s encrypt SSL证书。

反向代理服务器和wordpress虚拟主机中部署了相同的SSL证书。

反向代理http/https重定向工作正常。

我在mysql数据库中将siteurl和home url强制为https,以测试https

打开我的wordpress网站,然后单击“显示阻止内容”。chrome控制台提示“此页面不安全(HTTPS已损坏)。”

Chrome控制台还报告有一些样式表/脚本/图像未通过HTTPS提供stylesheet/script/image are not served over HTTPS

我尝试安装相关插件来修复此问题,但失败了。所以他们被禁用了。plugins to fix mixed content

由于ERR\\u TOO\\u MANY\\u重定向,无法加载我的wordpress的管理区域

我想知道如何修复管理登录页中的混合内容和太多重定向问题。

欢迎提出建议。

******************更新***********************

嗨~我想提供更多关于我的测试wordpress站点设置的详细信息。

我的wp配置的部分。与WP\\U SITEURL、WP\\U HOME、HTTPS相关的php值:

define(\'WP_SITEURL\', \'https://\'.$_SERVER[\'HTTP_HOST\']);
define(\'WP_HOME\', \'https://\'.$_SERVER[\'HTTP_HOST\']);
define(\'FORCE_SSL_ADMIN\', true);

if ( isset( $_SERVER[\'HTTP_X_FORWARDED_PROTO\'] ) && $_SERVER[\'HTTP_X_FORWARDED_PROTO\'] == \'https\')
$_SERVER[\'HTTPS\']=\'on\';
\'站点URL\'&;\'wordpress DB中wp\\U选项字段的“主页”值:

https://yuantafood.i-shopping.email
https://yuantafood.i-shopping.email
如上所述,我只能用我的内部IP地址登录wp admin页面。由于错误:ERR\\u TOO\\u MANY\\u重定向,尝试登录外部IP/FQDN为的wp admin页无法加载。

使用googled for many post,使用强制SSL。htaccess似乎为其他人解决了混合内容问题。

我还尝试了许多编辑方法。htaccess,主要是301永久重定向和302临时重定向。

的值。wordpress文件夹中的htaccess文件(301)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

# RewriteBase /
# RewriteRule ^index\\.php$ - [L]
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule . /index.php [L]

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yuantafood.i-shopping.email/$1 [R=301,L]

</IfModule>
# END WordPress

# Wordfence WAF
<IfModule mod_php5.c>
php_value auto_prepend_file \'/var/www/wordpress/wordfence-waf.php\'
</IfModule>
<Files ".user.ini">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>
# END Wordfence WAF
301和;302重定向失败,并导致由于ERR\\u TOO\\u MANY\\u重定向而无法加载所有站点。

2 个回复
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成

删除所有正在运行的强制SSL插件,恢复到中的默认设置wp-config.php.htaccess 在强制使用HTTPS之前。这将删除所有冲突和重定向循环。之后,请执行以下步骤:

去下载Interconnect IT\'s Database Search & Replace Script herereplace (screenshot)http://yuantafood.i-shopping.email/replace) 和you will see the search/replace tool

  • 在“搜索…”和“替换为…”字段中:
    • Replace: http://yuantafood.i-shopping.email/ (HTTP,非SSL)
    • With: https://yuantafood.i-shopping.email/ (HTTPS)
  • 在执行脚本之前,您可以单击“操作”下的“干运行”按钮,查看它将替换什么。完成后,请确保删除/replace/ 文件夹

    按照上述步骤,应确保所有链接都在HTTPS上运行。但是,您也可以使用Remove HTTP plugin 以确保不再存在混合内容问题。

    SO网友:hcheung

    您是否已将WP Admin上设置->常规的“WordPress地址(URL)”和“站点地址(URL)”从http更改为https?刷新缓存并再次检查?如果仍然存在混合协议,则可能来自硬编码url,如图像和外部链接。您可以保持原样,也可以修复它。当我切换到SSL时,我经历了这一点,您可以查看我的article.