近年来随着浏览器强推https(Hyper Text Transfer Protocol over SecureSocket Layer以安全为目标的 HTTP 通道),SSL(Secure Sockets Layer 安全套接字协议)已经成为了硬性指标,许多知名浏览器会标注http连接网站是不安全的。至此无数的网站部开始署了SSL。那接下来让我们看看Typecho是如何开启https的。

因为是小白很多都不懂,在给Typecho上https时爬了不少坑,这里先讲述下我开启SSL的亲身经历:服务器成功部署了SSL后,也设置了301跳转,强制将http连接提跳转到https,Typecho系统设置的网站地址也设置了https开头连接。以为大功告成,可是奇怪事情发生了-网站页面错乱,就连管理页面也是如此。使用开发者工具检查,发现原因竟然是:很多的页面资源、样式表等,使用http连接。然而浏览器是不允许https页面中调用http连接,也正式这个原因导致所有页面出现错乱。如下图:

ae43992da51d7be932d84f0ac5e8e006.png

原因找到了,可是我不知如何去修改。后来逼的我备份重装Typecho,可依然于事无补。最后百度一查,竟然这么简单,方法如下:

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

找到站点根目录下config.inc.php配置文件,加入如下代码:/** 开启HTTPS

*/define('__TYPECHO_SECURE__',true);

由于Chrome浏览器对HTTPS要求较高,其他浏览器已经显示小绿锁,可是Chrome还是有警告提示。关于这部分问题日后更新

附:http转https的301跳转代码:

RewriteEngine On

RewriteCond %{HTTP:From-Https} !^on$ [NC]

RewriteCond %{HTTP_HOST} ^(www.)?deepsc.cn$ [NC] //地址换成自己的

RewriteRule ^(.*)$ https://www.deepsc.cn/$1 [R=301,L] //地址换成自己的

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐