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 (将#修改为@)