Nginx HTTPS 对特定文件扩展名的期望
Nginx HTTPS expectation for specific files extesions
我正在使用以下规则强制使用 HTTPS:
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
效果很好。但我需要在 HTTP 中提供一些资产(例如所有 .XML 文件)。如何为这些文件创建预期?
我试过了:
location ~* /sitemap*.xml {
.
.
break;
}
但是没用
[更新]
我忘了提供更多细节......我正在使用 AWS 和 ELB,因此 LB 接收 HTTPS 请求并在内部传递到 "HTTP" 到我的 EC2。所以,在 NGINX 中,我只监听 80 端口。
您应该为其他所有内容指定一个单独的位置:
location ~* \.xml$ {
...
}
location / {
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
}
我正在使用以下规则强制使用 HTTPS:
if ($http_x_forwarded_proto != 'https') { return 301 https://$host$request_uri; }
效果很好。但我需要在 HTTP 中提供一些资产(例如所有 .XML 文件)。如何为这些文件创建预期?
我试过了:
location ~* /sitemap*.xml {
.
.
break;
}
但是没用
[更新] 我忘了提供更多细节......我正在使用 AWS 和 ELB,因此 LB 接收 HTTPS 请求并在内部传递到 "HTTP" 到我的 EC2。所以,在 NGINX 中,我只监听 80 端口。
您应该为其他所有内容指定一个单独的位置:
location ~* \.xml$ {
...
}
location / {
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
}