前言
昨天,老张开始使用雷池做前端,反代后端的机器,配置起来很简单,但是反代后,wordpress的样式丢失了,而且后台也进不去。
我本以为是宝塔的SSL的跳转的问题,结果实际上老张的宝塔上面一看,完全没有问题。但是进管理后台一台提示重定向次数过多。而且查看源代码也发现是因为css引用是使用的http://,所以导致无法加载([链接登录后可见],不管是js,css,还是图片)。
结论
分析下来,应该是wordpress的问题了,因为是回源是使用的http走的80端口,所以导致wordpress误以为是http网站,使用了http协议。
回源
这里说一下回源,我们建议前端使用 https,回源使用 http,如下
这样子的好处是,前端使用CF证书,我们不需要操心,CF回源使用http,不需要证书,也不需要操心,这样不需要定期去更新证书了。
老张使用的是 雷池 ,所以如下图
这就是CF的SSL里边的灵活模式,如果CF选择严格模式,那么cf回源服务器也会走SSL,就需要源服务器有可信任的证书了。
处理方法
知道问题所在了,那么问题也就迎刃而解了,wordpress是根据http的协议来判断的,我们只需要强制他走 https 即可。
编辑 wp-settings.php
,在 <? php 下增加一行
$_SERVER['HTTPS'] = 'on';
那么,wordpress会默认现在是 https,就不会再使用 http 相关内容了,问题也就解决了。如下图
总结
@AI 帮我总结一下。