手把手教你搭建个人网站四:升级https

是不是觉得别人网站前面的小绿锁很好看?

而且,Google官方也正式承认过https是影响搜索排名的一个因素,那么如何将自己的网站全面升级为https呢?今天的内容就介绍一下如何将部署在Nginx的WordPress增加一个小绿锁。

1.选择SSL证书

HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议),是一种通过计算机网络进行安全通信的传输协议。经由HTTP进行通信,但是利用SSL/TLS来加密数据包。因此为了将网站升级为https的,需要先去获取一个ssl证书~

免费的ssl证书申请机构还是不少的,今天介绍一个很好用的Lets's Encrypt(https://letsencrypt.org/),这是一个免费、开放、自动化的证书颁发机构。

2.在服务器端配置SSL证书(Ubuntu16.04 Nginx为例)

Certbot有PPA,直接安装就好:

$ sudo apt-get update$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:certbot/certbot$ sudo apt-get update$ sudo apt-get install python-certbot-nginx

安装Nginx版本的证书,

$ sudo certbot --nginx

这一步需要你输入邮箱以及域名信息,邮箱用来接收证书即将过期的信息(3个月要更新一次)以及安全信息。域名则是你这个证书所应用的网址,如果提示Cannot find a VirtualHost matching domain,可能是你的Nginx里的server_name配置有误,看看是不是正确指向了自己的域名。之后会让你选择Redirect还是No redirect,前者是将所有http请求都重定向到https去。

用这个命令安装是让Certbot自动帮你修改Nginx配置文件实现http变为https(方便,推荐使用),当然你也可以手动配置,通过命令sudo certbot --nginx certonly,这样你就可以自己来设置信息,官方文档参考:https://certbot.eff.org/docs。

重启Nginx,再访问自己的博客,就会发现自己前面也有一个小绿锁了~

3.设置证书自动更新

Certbot的证书有效期是90天,过了90天就得手动更新一次~但是它有自动更新机制,可以通过以下命令测试一下是否正常:

$ sudo certbot renew --dry-run

如果运行正确的话,那么你就可以设置shell+crontab来实现定时任务,以后也不用烦90天更新一次的事了。

1. 在/root下新建一个update.sh:

#!/bin/bashlast_run_time=0date1=`date +%s`interval_days_secs=$((87*24*3600))if [[ $((date1 - last_run_time)) -gt $interval_days_secs ]]; thencertbot renew sed -i '2 s/[0-9][0-9]*/'$date1'/' update.shfi

2. 新建一个crontab任务(crontab -e),设置每天执行一次update.sh:

***/root/update.sh>/root/log2>&1

3. 重启crontab任务:

sudo/etc/init.d/cron restart

看完本文有收获?请转发分享给更多人

关注「flyzy小站」,一同进步~

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171216G05SZ900?refer=cp_1026

扫码关注云+社区