# A repository fork from [https://github.com/wmnnd/nginx-certbot](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续签实操: 1. 修改init-letsencrypt.sh中的domain为ycmusic.cn www.ycmusic.cn 2. 执行脚本 3. 修改init-letsencrypt.sh中的domain为yichao.art www.yichao.art 4. 将conf.d/ycweb.conf改名备份,ycweb.conf.whenrequestsslcert改名成ycweb.conf。 5. docker restart 【nginx docker实例】 6. 执行init-letsencrypt.sh。成功后,把配置文件再改回来。重启nginx docker ## 测试环境 * CentOS Linux release 7.3.1611 (Core)