从2017年1月起,使用谷歌浏览器访问未启用 HTTPS 的站点,地址栏将会有“不安全”的标记
所以,给博客全站开启 HTTPS 也是大势所趋!

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

1.编辑Typecho站点根目录下的文件

config.inc.php

加入下面一行配置,否则网站后台还是会调用HTTP资源。
登录后台的时候会出现奇怪的错误

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

2.由于Chrome浏览器对HTTPS要求较高,Firefox已经显示小绿锁,可是Chrome还是有警告提示,F12查看,评论表单的action地址还是HTTP,找到站点主题目录下的

comments.php

文件,并搜索

$this->commentUrl()

并将其替换为:

echo str_replace("http","https",$this->commentUrl());

最后保存。

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

UPDATE !typecho_contents! SET !text! = replace (!text!,’http://qiudy.cc','https://qiudy.cc‘)

将以上! 替换为 `
例如我的:

UPDATE `typecho_contents` SET `text` =replace( `text`,'https://jocket.top','https://jocket.top')

链接替换为自己的网站 写入数据库。
typecho_contents为表名,text为字段名。
注意:域名最后不要添加“/”这个字符

4.但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTPS)重定向到443端口(HTTPS),强制全站HTTPS。
如果你使用的了CDN的话 在CDN加速模式跳转,设置http跳转https。

5.后来发现typecho头像是从gravatar获取的,但是typecho获取头像的地址为http。
所以将var/Typecho/Common.php中的第939行中的
http://www.gravatar.com/
中的http改成https就好了。

ssl1.png
转载自:https://qiudy.cc/182.html/comment-page-1

Last modification:January 14, 2019
If you think my article is useful to you, please feel free to appreciate