免费 Https 证书(Let's Encrypt)申请与配置

以前要申请免费的 https 证书操做步骤至关麻烦,今天看到有人在讨论,就搜索了一下。发现如今申请步骤简单多了。html

1. 下载 certbot

git clone https://github.com/certbot/certbot cd certbot ./certbot-auto --help 

解压打开执行就会有相关提示nginx

2. 生成免费证书

./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d 网站域名 ./certbot-auto certonly --webroot --agree-tos -v -t --email keeliizhou@gmail.com -w /path/to/your/web/root -d note.crazy4code.com 

注意 这里 默认会自动生成到 /网站根目录/.well-known/acme-challenge 文件夹,而后 shell 脚本会对应的访问 网站域名/.well-known/acme-challenge 是否存在来肯定你对网站的所属权git

好比:个人域名是 note.crazy4code.com 那我就得保证域名下面的 .well-known/acme-challenge/ 目录是可访问的         能够操做chmod 777 -R /网站根目录/.well-known/acme-challengegithub

若是返回正常就确认了你对这个网站的全部权,就能顺利生成,完成后这个目录会被清空web

3. 获取证书

若是上面的步骤正常 shell 脚本会展现以下信息:shell

- Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/网站域名/fullchain.pem ... 

4. 生成 dhparams

使用 openssl 工具生成 dhparamsbash

openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048

5. 配置 Nginx

打开 nginx server 配置文件加入以下设置:dom

listen 443 ssl on; ssl_certificate /etc/letsencrypt/live/网站域名/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/网站域名/privkey.pem; ssl_dhparam /etc/ssl/certs/dhparams.pem; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; 

而后重启 nginx 服务就能够了工具

6. 强制跳转 https

https 默认是监听 443 端口的,没开启 https 访问的话通常默认是 80 端口。若是你肯定网站 80 端口上的站点都支持 https 的话加入下面的配件能够自动重定向到 https网站

server { listen 80; server_name your.domain.com; return 301 https://$server_name$request_uri; } 

7. 证书更新

免费证书只有 90 天的有效期,到时须要手动更新 renew。恰好 Let’s encrypt 旗下还有一个 Let’s monitor 免费服务,注册帐号添加须要监控的域名,系统会在证书立刻到期时发出提醒邮件,很是方便。收到邮件后去后台执行 renew 便可,若是提示成功就表示 renew 成功

./certbot-auto renew



实际操做:

[root@test html]# chmod 777 -R .well-known/

./certbot-auto certonly --webroot --agree-tos -v -t --email zhaoweifeng@hl***ang.cn -w /var/www/html -d test.b****wkd.com

 


IMPORTANT NOTES:

- Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/test.bjy***d.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/test.bj***d.com/privkey.pem Your cert will expire on 2018-03-14. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew"

相关文章
相关标签/搜索