如何解决Nginx-对于/ v2 / xx以外的所有位置,返回404
有一个问题,我需要为所有请求返回404,但为“ / v2 / xx”完成的请求除外 Nginx被用作前端负载均衡器。
location / {
已经用于全局配置,由于它是由puppet管理的,因此我无法触摸它,它将破坏其他虚拟主机配置。
我需要return 404
用于:
www.site.example.com
www.site.example.com/xxxxx
但是我需要return 200
www.site.example.com/v2
有一个类似的问题,但不适用于我的情况:
Return 404 with nginx to all locations except for one
实际配置如下:
server {
listen $IPv4_ADDRESS:443 http2 ssl;
listen [$IPv6_ADDRESS]:443 http2 ssl;
server_name site.example.com;
include /etc/nginx/conf.d/site_proxy.inc;
include /etc/nginx/conf.d/site_proxy-cache.inc;
add_header X-Frame-Options "SAMEORIGIN";
location /v2 {
if ($request_method = POST) {
rewrite ^/v2(.*) /products/~SITE.$request_method;
}
if ($request_method != POST) {
rewrite ^/v2(.*) /products/!SITE.$request_method;
}
limit_req zone=site burst=5;
}
proxy_set_header X-Original-URL $scheme://$host$request_uri;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
if ($scheme = "https") {
add_header Strict-Transport-Security $sts;
}
proxy_ssl_name $host;
proxy_pass https://siteexample443;
}
ssl_certificate /etc/nginx/ssl/site_example_com.crt;
ssl_certificate_key /etc/nginx/ssl/site_example_com.key;
access_log /var/log/nginx/site_example_com.log;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。