全站启用HTTPS让您的网站更安全,随着用户和搜索引擎的不断重视,很多小伙伴们已经加入HTTPS的阵营,分享下Typecho设置HTTPS的过程。

申请SSL证书

如果您还没有域名SSL证书,可以使用Let’s Encrypt免费SSL证书申请免费的SSL证书。

我使用的是cloudfare的15年有效期证书。

Typecho设置

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

编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。

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

由于Chrome浏览器对HTTPS要求较高,Firefox已经显示小绿锁,可是Chrome还是有警告提示,F12查看,评论表单的action地址还是HTTP,找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace("http","https",$this->commentUrl()); 最后保存。

由于本站使用的“轻语”,是基于评论实现的,所以也得把/usr/themes/initial/page-whisper.php中的相应部分做替换。

HTTP重定向到HTTPS

但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTPS)重定向到443端口(HTTPS),强制全站HTTPS,请参考文档:Nginx强制https,HTTP 301重定向到HTTPS说明。

我使用的是宝塔面板自带的设置

宝塔面板自带的设置.jpg

查看效果

最后清除浏览器缓存访问下自己的网站,浏览器已经显示安全的小绿锁标识,如果没有出现小绿锁,请通过浏览器F12分析是否还加载了不安全的HTTP资源。

开启ssl的效果

文章目录