限制Nginx中的http请求
Nginx配置带来了全新的Noob。我试图限制基于IP的http请求:到目前为止,我已经做到了:我需要允许所有GET,但是我需要将PUT DELETE和POST限制在特定的IP范围内限制Nginx中的http请求,http,nginx,limit,except,Http,Nginx,Limit,Except,Nginx配置带来了全新的Noob。我试图限制基于IP的http请求:到目前为止,我已经做到了:我需要允许所有GET,但是我需要将PUT DELETE和POST限制在特定的IP范围内 location / { index app.php index.php index.html; try_files $uri @rewriteapp; limit_except GET { allow
location / {
index app.php index.php index.html;
try_files $uri @rewriteapp;
limit_except GET {
allow all;
}
limit_except PUT DELETE POST {
allow <IP SUBNET 1>;
allow <IP SUBNET 2>;
deny all;
}
位置/{
index app.php index.php index.html;
尝试_files$uri@rewriteapp;
除GET外的限制{
允许一切;
}
限制除放置删除帖子外的其他内容{
允许;
允许;
否认一切;
}
你知道我弄错了什么吗?有可能吗?除了
GET
和HEAD
之外,以下方法都会被拒绝。如果客户端来自指定的ip范围,它将可以访问其他方法
location / {
index app.php index.php index.html;
try_files $uri @rewriteapp;
limit_except GET {
allow <IP SUBNET 1>;
allow <IP SUBNET 2>;
deny all;
}
位置/{
index app.php index.php index.html;
尝试_files$uri@rewriteapp;
除GET外的限制{
允许;
允许;
否认一切;
}
如何将不允许的方法重定向到另一个proxy\u pass
?@W.M.您可以使用if动词if($request\u method=POST){返回301https://example.com$request_uri;}
为了清楚起见,因为我刚刚遇到了同样的问题,这限制了除GET之外的所有内容。例如,将允许在POST、PUT等上发布,但其他内容将不允许。所有内容都将允许GET请求。