Nginx根据url或参数禁止部分网址访问,据说最新版Nginx不支持该写法,请自行测试。

    server{
        listen 81;
        server_name 192.168.0.226;

        client_max_body_size 1024m;
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host:$server_port;
        proxy_set_header Upgrade-Insecure-Requests 1;
        proxy_set_header X-Forwarded-Proto https;
        #/seeyon/结尾拒绝访问
        location ~ ^/seeyon/$ {
            return 403;
        }
        #/seeyon/index.jsp拒绝访问
        location /seeyon/index.jsp {
            return 403;
        }
        #/seeyon/内页允许访问
        location /seeyon/{
            proxy_pass http://127.0.0.1;
        }
        #/static内页允许访问
        location /static{
            proxy_pass http://127.0.0.1;
        }
        #/seeyon结尾拒绝访问
        location /seeyon{
            return 403;
        }

        location = /seeyon/main.do {
            #/seeyon/main.do获取到method参数允许访问
            if ($query_string ~* ^(.*)method=(.*)$){
                proxy_pass http://127.0.0.1;
            }
            #/seeyon/main.do获取到V参数允许访问
            if ($query_string ~* ^(.*)V=(.*)$){
                proxy_pass http://127.0.0.1;
            }
            #/seeyon/main.do获取到method=index参数拒绝访问
            if ($query_string ~* ^(.*)method=index$){
                return 403;
            }
        }
    }