如果请求尝试访问<host>/.well-known/acme-challenge/
以提供匹配文件,我希望能够找到。
如果请求是其他内容,我想将其重定向到https://
server {
listen 8080;
server_name my_example.com;
location /.well-known/acme-challenge/ {
alias /var/www/encrypt/.well-known/acme-challenge/;
try_files $uri =404;
}
return 301 https://$server_name$request_uri;
}
问题是当访问存在于别名路径中的my_example.com/.well-known/acme-challenge/12345
时,我仍然重定向到https://并且浏览器不会下载该文件。
如何在这种情况下只提供文件而不应用重定向?
由于
答案 0 :(得分:3)
将return
语句放在location
块中:
例如:
server {
listen 8080;
server_name my_example.com;
location /.well-known/acme-challenge/ {
root /var/www/encrypt;
}
location / {
return 301 https://$server_name$request_uri;
}
}
此外,简化了您的其他location
阻止。