我的WordPress全站HTTPS啦

终于,本站的强制HTTPS已经开启了,所有的HTTP流量都会被强制转向HTTPS。

虽在早在去年我就申请了HTTPS证书,也更换了独立ip支持了HTTPS,但是并没有强制开启HTTPS,因为我发现根据网上的教程设置.htasccess会失败。后来发先用了really simple SSL插件可以做到https://kawabangga.com跳转到HTTPS,还能帮你将站内绝对路径的链接自动换成HTTPS,看起来不错,就没再管。但是一直有一个遗留问题就是,https://www.kawabangga.com是跳不过去的。

今天小红老师帮我调了一下,最后发现了问题所在。不得不说,姜还是老的辣,要是我自己调我觉得永远搞不定。

问题描述:本在在西部数码的虚拟空间上,有独立ip,支持HTTPS访问,但是HTTP访问www不会跳转到HTTPS。

首先,我们按照网上普遍的教程,在.htaccess(这是apache的配置文件)写:

会发生无限重定向,浏览器无法打开网页。所以看起来是80端口判断永远为真。然后尝试了各种别的判断条件,比如:

也还是不行。

这时候,小红老师说,不是条件判断不正确,而是到你机器上的流量永远是HTTP流量。虽然使用了HTTPS协议,但是空间提供商在内网没有必要使用HTTPS(HTTPS有加密过程更加消耗资源),所以内部是使用HTTP传输数据的。HTTPS包到达空间商的时候,空间提供商使用HTTP协议将此包转发到你的虚拟空间上(就是HTTPS外面套了一层HTTP),所以到达apache的流量永远都是HTTP流量,就发生了无限重定向。

这时候我才发现,原来西部数码自己提供了一个设置方法(放在一个不知名的小页面上,坑),如下:

果然,可以发现这里使用的参数是HTTP:From-Https,是自定义的一个参数!

另外还有一个小插曲,多次修改.htaccess的时候,小红老师看见我把所有的参数都删掉还震惊了一下,我自信的说这些我都不知道是什么,没用。于是部署好HTTPS的跳转之后,除了首页所有的页面都404了……

原来我设置了伪静态,.htaccess里面需要做相应的设置的…… 最后的正确配置如下:

终于一切都正常了。这是我一年来的一块心病啊,终于解决了。

博客四年了,停靠在西部数码也有三年了,同事们都对虚拟空间,wordpress这种东西嗤之以鼻,不过我觉得挺好的。这个博客我上来除了写东西之外几乎没有花很多精力维护,有什么问题客服解决的也很及时。虽然有很多坑,但是我觉得VPS的坑更多。况且四年前我的技术维护vps肯定有很多安全问题。这几年来wordpress的写作体验一直在提升,我很满意。对博客的SEO,amp等新技术也支持的比较好。国外的vps速度慢,国内的需要备案,对我来说选择就很有限了。所以综上看来,这几乎是我最好的选择。还是多总结,能给自己带来收获,一年多一百少一百的倒无所谓。

我的WordPress全站HTTPS啦”已经有一条评论

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注