nginx里面配置如下的信息:
location ^~ /.well-known/acme-challenge/ { alias /date/web/iteblogssl/www/challenges/; try_files $uri =404; }
这个就是《如何申请免费好用的HTTPS证书Let's Encrypt》文章中配置验证服务的时候用到的nginx配置。设置完上面的配置之后,我们编写一个sh脚本,用于自动申请签证:
#!/bin/bash cd /data/web/ssl/ python acme_tiny.py --account-key account.key --csr domain.csr --acme-dir /date/web/iteblogssl/www/challenges/ > signed.crt wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem cat signed.crt intermediate.pem > chained.pem service nginx reload
将上面的文件保存到iteblog.sh
文件里面,并赋予执行权限:
iteblog$ chmod 777 iteblog.sh
然后加到到操作系统的crontab
里面,如下:
iteblog$ sudo crontab -e 0 0 2 * * /bash/sh /data/web/ssl/iteblog.sh > /dev/null 2>&1
上面定时任务将每两月执行iteblog.sh
脚本来自动申请Let's Encrypt证书。更新的时候可以看到日志文件里面有如下HTTP请求:
172.68.34.72 - - [05/Aug/2016:10:23:11 +0800] "GET /.well-known/acme-challenge/BM8Te6qjCwgBS0GJI7QDqvfdPNj-ZsWlDFfJixC4_Ak HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
好了,自动化程序完成。
本博客文章除特别声明,全部都是原创!