我试图从自签名证书转到我们的nginxnetworking服务器上encryption证书。
目前,我将所有请求redirect到http/80
到https/443
,它使用我刚刚创build的自签名证书。
现在 – 根据我的理解,Let's Encrypt向端口80发出请求(因为我使用的是certbot
的webroot
选项)。 这些请求被redirect,导致证书生成失败。
我试图用下面的服务器块来实现这个function,在80端口监听:
server { listen 80; server_name sub.domain.tld; server_tokens off; location /.well-known { root /var/www/letsencrypt; } location / { return 301 https://$host$request_uri; } }
但是https/443
/.well-known
请求被redirect到https/443
。
如何将所有请求从http/80
redirect到https/443
,除了对/.well-known/
的请求?
尝试这个:
server { listen 80; server_name sub.domain.tld; server_tokens off; root /var/www/letsencrypt; location /.well-known { try_files $uri $uri/ =404; } location / { return 301 https://$host$request_uri; } }
由于虚拟服务器中没有try_files
条目,因此不知道如何处理来自/.well-known
请求。