码迷,mamicode.com
首页 > Web开发 > 详细

手把手教你安装SSL证书升级https

时间:2017-12-18 12:30:23      阅读:1272      评论:0      收藏:0      [点我收藏+]

标签:etc   target   lan   nbsp   star   .sh   root   分享   通信   

技术分享图片

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

而且,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/bash

last_run_time=0

date1=`date +%s`

interval_days_secs=$((87*24*3600))

if [[ $((date1 - last_run_time)) -gt $interval_days_secs ]]; then

certbot renew

sed -i ‘2 s/[0-9][0-9]*/‘$date1‘/‘ update.sh

fi

 

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

 

0 0 * * * /root/update.sh > /root/log 2>&1

 

3. 重启crontab任务:

 

sudo /etc/init.d/cron restart

手把手教你安装SSL证书升级https

标签:etc   target   lan   nbsp   star   .sh   root   分享   通信   

原文地址:http://www.cnblogs.com/ymwang/p/8056240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!