我想重定向到nginx.conf中的https服务器配置,除非URL带有模式。
所以基本上我需要结合重定向:
server {
listen 80;
server_name foo.com;
return 301 https://foo.com$request_uri;
}
这个服务器配置博客:
server {
listen 80;
server_name foo.com;
location ^~ /.well-known/acme-challenge/ {
alias /etc/letsencrypt_webroot/.well-known/acme-challenge/;
}
}
有没有一种方法可以解决当前请求不是
http://foo.com/.well-known/acme-challenge/
然后它应该执行301重定向到https。
答案 0 :(得分:1)
您可以尝试以下操作:
server {
listen 80;
server_name foo.com;
location /.well-known/acme-challenge/ {
alias /etc/letsencrypt_webroot/.well-known/acme-challenge/;
}
location / {
return 301 https://foo.com$request_uri;
}
}
这是我们在同一个域中处理多种服务的方式。您可能需要进行一些调整才能使其正常工作,但这是最基本的
每当有一个请求发送到http://foo.com/.well-known/acme-challenge/
时,第一个定位块将起作用,而对于任何其他网址,以下网址将起作用