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;
}
}
}