使用ssl和wp-admin的混合内容和过期会话问题

时间:2016-03-21 作者:omega33

我正在开发一个具有SSL证书的站点。我已经激活了通过https进行的wp管理(使用define(\'FORCE_SSL_ADMIN\', true); 在wp配置中。php)。

使用wp admin会产生很多问题。

1) 在wp admin中执行操作时,我会定期收到一条消息,说明会话已过期。据我所知,这主要发生在从一个管理页面(url)跳转到另一个页面(url)时。

2) 在Chrome中,我经常会在地址栏中看到一个小银盾,表示页面试图加载“不安全的脚本”。然后我必须手动告诉它加载这些脚本(我收集到这些脚本是wp admin试图通过http而不是https加载的)。

3) 一些页面在完全支持HTTPS(无混合内容)和EV greenbar等的情况下加载良好。但其他页面(在admin中)将生成混合内容错误。似乎当从一个包含混合内容错误的URL切换到一个没有此类错误的URL时(反之亦然),这就是出现会话过期问题的时候(不是百分之百确定,但看起来确实如此)。

在前端,我使用了whynopadlock。com向我展示了使用HTTPS时通过HTTP加载的资源,并修复了它们(只是帖子中的图像等)。但由于wp admin需要一个登录,所以我没有可用的选项。

我有两个问题:

问题1)是否有建议的方法让wp admin通过SSL正常工作?

问题2)对于SSL上的wp admin如此不稳定的原因,建议采用什么方法进行故障排除?(这意味着它在一些管理页面上工作,在其他页面上中断,并导致其他页面的会话过期)。

非常感谢。

乔纳森

3 个回复
SO网友:cybmeta

您必须检查您在管理页面中加载的所有文件(包括从插件加载的文件);它们应该通过HTTPS加载。WordPress负责自己加载的文件,但它无法控制您或您的插件是否通过HTTP加载资源;你必须把它修好。

要查找通过HTTP加载的资源,您可以use the Console log of Chrome or Firefox developer tools.

此外,还有一些从前端加载资源的wp admin实例。例如,自定义程序位于管理端,但预览是前端的iframe。如果您只在admin上使用SSL,那么最终可能会遇到问题。

您可以做的最好的事情是在整个站点中使用HTTPS。它会更稳定,你的用户会喜欢它,搜索引擎也会喜欢它。

SO网友:Saminu Eedris

另一种修复方法是启用wp\\u debug,因为它将使您进入wp管理区域,然后您可以安装真正简单的SSL插件并激活。。。这将有助于处理WordPress网站上出现的任何混合内容或会话过期警告。

SO网友:neoblitz

WordPress的系统在后端和前端之间使用共享脚本和资源,您不应该仅对WP-ADMIN使用SSL。它会造成许多不可预见的complications. 您还可以通过查看页面源代码并搜索字符串来查找HTTP链接http://

最佳做法是将整个站点移动到HTTPS。

确保WP管理/设置屏幕设置为https:// 对于双向链接(WordPress地址和站点地址字段)

WordPress Address and Site Address field

<您可以以SQL格式备份数据库-使用文本编辑器查找并替换所有出现的HTTP-->HTTPS,然后重新上载并覆盖数据库。请保留原始数据库的备份How to force your site to redirect to https (SSL) 或How to Redirect HTTP to HTTPS In Apache & Nginx? (.htaccess & .conf)Really Simple SSL 插件-此处解释-How To Fix Mixed Content Issue For WordPress

可选:

如果您真的想要一个性能快速的HTTPS站点,请使用AutoOptimize, WP Fastest CacheCloudFlare 在一起然后,使用WP-Optimize 解决所有数据库开销。

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if