Typecho全站开启HTTPS(SSL)访问 最后更新时间:2020年06月30日 目前使用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数据库操作 以本站为例,将下面的代码复制到数据库中执行 ```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就好了。 最后在浏览器访问你的网站,你就会看到一个小绿锁的出现,预示着大功告成了!
Comments | NOTHING