A repository fork from https://github.com/wmnnd/nginx-certbot
用途
使用docker-compose配置nginx并申请certbot证书。
文件说明
init-letsencrypt.sh:获取Let's Encrypt证书;server/nginx:nginx配置文件目录;docker-compose.yml:服务配置;
使用说明
1.解析域名到你的服务器;
2.安装docker-compose,参考: CENTOS安装Docker Compose;
3.修改配置;
- 修改
init-letsencrypt.sh文件中的域名及邮箱; - 修改
server/nginx中的配置文件里的域名;如有必要,把sample.conf改成实际的文件名。但如果不做修改,只要其中的域名正确,不影响证书申请。
4.申请证书
chmod +x ./init-letsencrypt.sh
sudo ./init-letsencrypt.sh
5.启动服务
docker-compose up -d
6.续签
执行init-letsencrypt.sh即可。
有一些特殊情况,比如配置文件设置了自动对有无www的跳转,http跳转https的,此时可能会失败。应注释掉对所有密钥文件的引用,并确保http能访问得到。
比如,生产环境ycweb_oc中,可以参考ycweb.conf.whenrequestsslcert。
例如:ycweb_oc续签实操:
- 修改init-letsencrypt.sh中的domain为ycmusic.cn www.ycmusic.cn
- 执行脚本
- 修改init-letsencrypt.sh中的domain为yichao.art www.yichao.art
- 将conf.d/ycweb.conf改名备份,ycweb.conf.whenrequestsslcert改名成ycweb.conf。
- docker restart 【nginx docker实例】
- 执行init-letsencrypt.sh。成功后,把配置文件再改回来。重启nginx docker
测试环境
- CentOS Linux release 7.3.1611 (Core)