Nginx根据url或参数禁止部分网址访问,据说最新版Nginx不支持该写法,请自行测试。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| 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; } } }
|