问题描述

我有一个使用 Comodo SSL 证书的 WordPress 安装。我安装了 WordPress HTTPS plugin,我正在使用 AZ 主题,并且管理员设置为通过 HTTPS 加载。到现在为止还挺好。

在主题定制器上,我得到一个永久加载的图标 (不要与 WSOD 混淆) 。回收首页内容的 AJAX 调用是空的,保存为 WP_CUSTOMIZER_SIGNATURE 令牌。这就是所有的回应包括。当我禁用 WordPress HTTPS 插件 (或以其他方式禁用通过 SSL 加载管理员) 时,自定义工具很好。禁用/启用其他插件无效。这发生在股票二十五主题 (如下图) 。

以下是我在 Firebug 中看到的屏幕截图 (并且可以在浏览器以及 Browserstack VM 中重现):

如果它是相关的,该站点托管在 DigitalOcean 小滴上,使用 ServerPilot 。我有其他 WordPress 网站托管在同一个液滴上,另一个 SSL-enabled 显示相同的行为。 ModSecurity 没有安装,据我所知,我得到一个 200 状态代码,所以我不认为它是 this issue

另外,SHA-1 消息似乎是一个假阳性,只要我能告诉 (我不认为 Firefox 还没有阻止基于 SHA-1 使用的内容吗?) 。我不认为它是 zlib.output_compression bug,因为我已经明确地将其关闭测试,并尝试在该票证中列出的修补程序,这是没有工作。

我没有找到任何与我的问题相匹配的东西,这让我觉得有一些我所忽视的愚蠢的东西。任何帮助非常感谢,请让我知道什么额外的信息可能有帮助。

最佳解决方案

根据你的问题,我认为这是你用来启用 SSL 的插件:WordPress HTTPS

考虑到插件尚未在两年内更新,并且其支持问题尚未解决,最新版本的 WordPress 可能会出现一些兼容性问题 (在撰写本文时为 4.6) 。我的建议是确保您的网站的 URL 在任何地方都运行。

这可以通过在数据库中执行以下 SQL 查询来完成 (phpMyAdmin):

UPDATE wp_options SET option_value = replace(option_value, 'HTTP_URL', 'HTTPS_URL') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'HTTP_URL','HTTPS_URL');
UPDATE wp_posts SET post_content = replace(post_content, 'HTTP_URL', 'HTTPS_URL');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'HTTP_URL','HTTPS_URL');

将值替换为以下内容:

  • HTTP_URL> 您的 HTTP 链接 (http://some.site)

  • HTTPS_URL 您的 HTTPS 链接 (https://some.site)

这样,它可以防止任何 mixed-content 链接破坏事物。我也发现一个类似问题的 WordPress 主题,不知道你是否已经看过它:

Theme Customizer Problem

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。