Typecho全站启用HTTPS教程
全站启用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说明。
我使用的是宝塔面板自带的设置
查看效果
最后清除浏览器缓存访问下自己的网站,浏览器已经显示安全的小绿锁标识,如果没有出现小绿锁,请通过浏览器F12分析是否还加载了不安全的HTTP资源。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论测试