1、安装certbot
yum install certbot -y
2、申请证书
certbot certonly --webroot -w /mnt/nginx/www -d dev.anlitech.com
3、更新证书
certbot renew --webroot -w /mnt/nginx/www --post-hook "docker exec nginx-web nginx -s reload"
如果加上--dry-run参数,表示测试更新,非真正执行更新
4、自动续期
crontab -e
0 0 * * * certbot renew --webroot -w /mnt/nginx/www --post-hook "docker exec nginx-web nginx -s reload"
5、修改nginx配置
server {
listen 80;
server_name dev.anlitech.net;
#charset koi8-r;
#access_log logs/host.access.log main;
# 必须允许访问验证目录
location /.well-known/acme-challenge/ {
root /usr/share/nginx/html;
}
location ^~/ {
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080/;
}
}
server {
listen 443 ssl;
server_name dev.anlitech.net;
ssl_certificate /etc/nginx/certs/live/dev.anlitech.net/fullchain.pem;
ssl_certificate_key /etc/nginx/certs/live/dev.anlitech.net/privkey.pem;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
ssl_prefer_server_ciphers on;
location ^~/ {
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080/;
}
}
5723

被折叠的 条评论
为什么被折叠?



