Typecho全站开启HTTPS(SSL)访问


目前使用Chrome浏览器访问未启用SSL的站点会提示“网站不安全”的标识,另外,如果网站不启用SSL加密,访问时黑客很轻松的就能窃取到登录者的用户名和密码,为了保障用户的安全以及网站自身的安全,给网站开启全站HTTPS访问是非常有必要的。

一、将站点域名改为https

登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https://www.xxx.xx (xx改为你自己的域名)。

二、修改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());

四、更新文章中引用的附件地址为 HTTPS 地址,执行SQL数据库操作

以本站为例,将下面的代码复制到数据库中执行

UPDATE `typecho_contents` SET `text` =replace( `text`,'https://www.1crh.cn','https://www.1crh.cn')
//链接替换为自己的网站 写入数据库。
//typecho_contents为表名,text为字段名。
//注意:域名最后不要添加“/”这个字符

五、通过301重定向强制HTTPS访问

以上的操作完成后,发现还能以HTTP的方式还是可以访问,我们可以通过WEB服务器(Ningx)将80端口(HTTPS)重定向到443端口(HTTPS);虚拟主机在控制面板中的网站重定向中(不同面板名称可能不同)设置,强制全站HTTPS。
如果你使用的了CDN的话 在CDN加速模式跳转,设置http跳转https。

六、将typecho获取头像的地址为https

将var/Typecho/Common.php文件中第939行中的http://www.gravatar.com中的http改成https就好了。

最后在浏览器访问你的网站,你就会看到一个小绿锁的出现,预示着大功告成了!

声明:极客角度|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Typecho全站开启HTTPS(SSL)访问


代码书写人生