WordPress对使用SSL有许多隐含的假设。具体来说,如果您使用的是force\\u ssl\\u admin,并且站点的“front”与“back”具有相同的域,那么它假设您的整个站点实际上可以通过http或https访问。
这发生在几个不同的地方。最值得注意的是,当启用force\\u SSL\\u admin并且站点的域匹配时,主题定制器故意使用SSL加载预览窗口(站点的前端视图)。posts屏幕上的预览链接是相对的,因此也会转到SSL页面。
所以,简而言之,这是设计的,WordPress核心可能不会很快修复。如果您在任何地方使用SSL,那么您的站点将通过SSL工作,因此它会尝试这样做。如果您的站点上有任何其他主动阻止前端通过SSL工作的内容,那么它将被破坏。社区中的许多人会说,是的,它应该这样做。
本质上,您是通过在前端不允许SSL的任意操作自己造成问题的。实际上,您不必在前端强制使用SSL,但主动禁用它可能会导致安全风险。我们如何定义WordPress的“前端”和“后端”一开始有些随意,如果您真的想要安全,那么它必须能够使用SSL加载整个站点上的任何页面,而不仅仅是wp admin中的内容。
如果您的CDN因为没有https功能而出现问题,请考虑使用另一个支持https的CDN,或者将代码更改为仅通过http连接从CDN提供服务,并将文件的本地版本用于https连接。不过,这是一个短期解决方案。许多CDN允许您将控制的域名指向它们,然后您可以在该域名上设置SSL。例如,如果您有证书。com,您可以指向cdn。实例com,然后他们可以使用您的证书来保护该连接。不管怎样,不同的CDN有不同的方式来支持HTTPS。
从长远来看,整个web一直在朝着100%SSL的方向发展。像SPDY(大多数主流浏览器都支持)这样的较新协议可以显著提高传输速度,而且它们只在SSL连接上真正起作用。随着越来越多的“黑客”网站,以及最近美国国家安全局(NSA)的披露,以及其他一切,未加密的连接正迅速失宠。因此,您现在得到的大多数建议都是咬紧牙关,在整个站点上使用强制SSL。