HTTPS SSL …原理、好处就不扒了,直接上过程。
了解Certbot#
- 首先 进入 Certbot
- 选择使用的服务器软件 / 主机系统
- 选择后进入
生成及安装证书#
- 安装依赖的 epel 源,然后安装 certbot
$ sudo yum install epel-release $ sudo yum install certbot
certbot certonly
命令 , 生成证书公私钥. 示例: (支持多域名, )certbot certonly --webroot -w /home/sites/webroot1 -d domain1.com -w /home/sites/webroot2/ -d www.domain2.com
此过程中 Certbot 会创建随机文件,然后远程验证域名及服务控制权新生成的证书及相关文件,将生成到 /etc/letsencrypt 路径下。drwx------ 3 root root 4096 Aug 8 23:11 accounts drwx------ 3 root root 4096 Aug 8 23:16 archive drwxr-xr-x 2 root root 4096 Aug 8 23:16 csr drwx------ 2 root root 4096 Aug 8 23:30 keys drwx------ 3 root root 4096 Aug 8 23:16 live #nginx 可用证书目录 drwxr-xr-x 2 root root 4096 Aug 8 23:25 renewal
- 编辑 site.conf 加入你的 ssl 证书
fastcgi_send_timeout 300; fastcgi_read_timeout 300; } location ~ /\.ht { deny all; } # 看这里 ssl_certificate /etc/letsencrypt/live/domain.com/cert.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; }
- 然后证书都好了让我们,把
http
请求都转向https
吧server { listen 80; server_name icoding.so; rewrite ^/(.*)$ https://icoding.so/$1 permanent; }
- 重启 nginx 刷新浏览器欣赏那个绿色的小锁吧
- 最后 为了保证证书的长期可用,添加个 crond 任务,每月自动续期即将到期的证书吧
crontab -e # 输入 * * * */1 * /usr/bin/certbot renew 1>> /dev/null 2>&1
最后推下本人小博客, icoding.so ,基于 laravel 5.2 github 开源,文档编辑中。
踩坑过后最终确定:
- Let's Encrypt 是单域绑定, 虽然支持多域名,但是不支持泛域绑定。
- Let's Encrypt 需要每90天续期。
使用的童鞋自行斟酌
from : https://laravel-china.org/topics/2525
沒有留言:
張貼留言