使用Let's Encrypt申请免费SSL证书

简介

Let’s Encrypt 是一个证书授权中心(CA), 可以使用实现ACME协议的客户端来生成和更新Let’s Encrypt颁发的证书 Certbot 就是一种实现了ACME协议的客户端下面以 Certbot 为例, 以一种通用的办法来获取证书

安装步骤

环境: ubuntu 16.04 (xenial)

  1. 执行如下命令安装Certbot
1
2
3
4
5
sudo apt-get update
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot -y
  1. 获取证书

假定 /var/www/example是web根目录, 域名为 example.comwww.example.com

1
sudo certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com

  1. 生成成功后会有如下提示:
1
2
3
4
5
6
7
8
9
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2018-06-17. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
  1. 修改nginx的ssl配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name localhost;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root /var/www/example.com;
index index.html index.htm;
}
}

强制http跳转到https
url重写方式(https的加密作用未发挥, 不推荐)

1
2
3
4
5
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}

307跳转方式. 推荐

1
2
3
location / {
return 307 https://$host$request_uri;
}

其他

http跳转码介绍
首页跳转https用307, OAuth跳转用302

301: 永久重定向,常用域名跳转, 如http到https. 301请求是可以缓存的
302: 临时跳转: 比如未登陆的用户访问用户中心重定向到登录页面。访问404页面会重新定向到首页
302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索搜索引擎认为新的网址是暂时的。
而301重定向是永久的重定向,搜索引擎在抓取新的内容的同时也将旧的网址替换为了重定向之后的网址。

https://zhidao.baidu.com/question/1514728783191890180.html
301 vs 307
301: 对SEO不友好
307: 不关系SEO, 需要定期更改链接, 需要统计点击率
https://info.budurl.co/blog/301-vs-307-redirects-how-to-choose

0%