【发布时间】:2019-11-05 11:20:48
【问题描述】:
我可以成功地将流量从 80 端口路由到 HTTPS,也可以成功获取 Let's Encrypt SSL 证书。但是当我想要both时,我的问题就开始了。
每当我的证书到期时,我都必须调整配置以通过 Let's Encrypt 挑战。这不好。
这是成功通过挑战的配置
server {
listen 80;
listen [::]:80;
server_name example.com *.example.com;
#for certbot challenges (renewal process)
location ~ /.well-known/acme-challenge {
allow all;
root /data/letsencrypt;
}
root /data/letsencrypt;
index index.html;
}
这是一个将流量路由到 HTTPS
的配置server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com *.example.com;
location / {
return 301 https://$host$request_uri;
}
return 444;
}
每当我开始尝试将它们结合起来时,HTTPS 的路由似乎就占了上风,挑战就被打破了。
注意我在 Docker 环境中使用 Nginx 作为反向代理也很有用,因此我从 HTTP 路由到 HTTPS,并从那里反向代理其他服务。
【问题讨论】:
-
like this 对我有用。
标签: nginx ssl-certificate lets-encrypt nginx-reverse-proxy nginx-config