这些天,干什么事情都不顺利,真是醉了。
花了一天折腾 https
,总算弄好了,做个总结,方便以后查看。
对于 https
的好处在此也简单为大家说一下:(网上找的)
加密传输,防止信息被窃取。大家会发现很多网站在登录,支付费用等涉及个人敏感信息的时候页面都会变成 https
,正是利用了加密传输这一特点,否则就是明文传输,被别有用心的人抓到数据包,你就悲催了。
仿假冒。如果你使用的是高级别的安全证书,如 EV
证书,用户在访问你的站点时,浏览器地址栏中是能显示你的站点信息的,如 paypal
。这样就算有人做了一个跟你一模一样的页面,也会很容易被识别出来。
防止劫持。这点可以说是国内各大公司下决心支持 HTTPS
的主要原因了。一旦被劫持,用户访问速度会变慢,看到的内容会被篡改,比如商家在百度投放的广告被替换成竞品的广告,淘宝的商品被带上小尾巴(返利链接),甚至直接跳转到 JD
。这些不光是损害用户的利益,更是直接影响公司收入。曾有用户在百度贴吧抱怨京东没有采用https协议而被劫持首页,现在京东首页也已经采用 https
了。
启用 https
整个过程可以参考这篇文章, Website-ssl.sh:低门槛跨入Https大门 ,前人造好了轮子,直接用就可以了。
如果发现 wsl.cnf.sh
已经配置了:
# ************************ 配置区域 START ******************************
# 你的ssl主目录位置
ssl_dir="/var/www/ssl"
# nginx中配置的,给 Let's Encrypt 验证用的
challenges_dir="/var/www/challenges/"
# 按照你的需求进行配置,多个域名用空格分开
websites="reeoo.me www.reeoo.me"
# ************************ 配置区域 END ********************************
但是还是提示:
您的配置文件「wsl.cnf.sh」配置不正确或还未进行配置,请检查!
看看是不是没有 ssl
目录,如果没有,需要手动创建 ssl
目录,然后就好了。
由 Let's Encrypt
机构颁发的证书,默认只有90天的有效期,所以我们需要有一个证书更新的机制,上面文章说的不是很清楚,补充一下:
可以为root用户开启定时任务,每过30天更新一下证书,具体方式如下:
键入 crontab -e
编辑 crontab
服务文件,
把这段内容插入进去:
# Let’s Encrypt 签发的证书只有90天有效期,可以设置为每月1号自动更新
0 0 1 * * sh /var/www/ssl/website-ssl.sh renew >/dev/null 2>&1
上面的路径要换成自己的,然后保存。
查看当前用户的定时任务:
crontab -l
显示:
[root@iZ234fbksx3Z www]# crontab -l
# Let’s Encrypt 签发的证书只有90天有效期,可以设置为每月1号自动更新
0 0 1 * * sh /var/www/ssl/website-ssl.sh renew >/dev/null 2>&1
linux
定时任务可以参考这里 linux定时任务的设置 crontab 配置指南
jiathis
,表面上支持 https
( jiathis
可以使用七牛的 cdn
支持 https
或者别的 cdn
支持),内部的某些链接还是 http
的,导致博客内请求资源的协议不一样( https
和 http
),绿锁就出不来了, js
存下来,自己改,我感觉比较麻烦,索性不用 jiathis
了,多说迁移到 disqus
, disqus
完美支持 https
。 https
,但是只能是又拍云提供的链接,要想用自己的域名,比如 img.reeoo.me
,需要自己上传证书。 所有资源都改为 https
之后,小绿锁就出来咯:
参考这篇文章: 告别多说,拥抱 Disqus
按照文章的做法,到最后 disqus
导入 disqus.xml
文件的时候,点了导入老是没反应,评论也没导入过来,不知道什么情况,本来博客的评论也不太多,不导也罢。