申请SSL证书

启用HTTPS必须要拥有一个SSL证书,现在国内的阿里云、腾讯云、七牛都可以申请证书了,而且有免费的哦。申请成功之后我们下载相对应服务器环境的证书,按照教程安装SSL证书。

HTTP重定向到HTTPS

一般主机商都会有301跳转教程,按照他们介绍的教程操作就可以了,如下图:

3128818.jpg

可我的虚拟主机根目录下已经有web.config来设置伪静态了,只需要把<rule到</rule>的复制进去就行了,如下图:

3501910.jpg

这样设置后就可以全站http自动跳转https访问了,但所有域名都会自动跳转到底下设置的域名,如果想排除某个域名不跳转,就添加下图中选中部分:

35895375.jpg

<add input="{HTTP_HOST}" pattern="^(www.)?limohan.vip$" negate="true" />

设置好后我的站点居然出现了页面排版混乱的情况,出现这情况就要按下面"thpecho程序设置"的第2点操作

tahp5147qf4f2m7.png

Typecho程序设置

1,登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名。

2,编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源,有可能造成页面排版混乱。

/* 开启HTTPS /
define('__TYPECHO_SECURE__',true);

2984205.jpg

注意:Chrome内核的浏览器有不安全提示的时候,需要找到主题目录下面的comments.php文件
再将其中的$this->commentUrl(),替换为:echo str_replace("http","https",$this->commentUrl());最后保存。

按以上设置后https访问的页面全部正常了,可浏览器左上角还是有个小红叉,并不会像他们正常的绿色小锁,经过询问才知道是因为网站中还有http的资源造成的。我查询了一下发现大部分都是上传的图片还是http,于是百度搜索找到了TEDUriReplace插件,它可以全站https替换,非常方便。

插件功能很简单,就是实现将文章中的特定字符串替换成另外字符串,例如像我这样就可以按如下设置:

4762819.jpg

这样设置后全站图片资源就会自动https访问了,还有小部分的资源我就自己手动更改下。

完成上述操作后,全部保存一下,最后清除浏览器缓存访问下自己的网站,浏览器就已经显示安全的小绿锁标识了。

最后附上插件下载地址: http-https-TEDUriReplace.rar