nginx代理 - 如何允许来自特定ip的连接

时间:2015-07-09 14:38:41

标签: nginx proxy

我已经安装了nginx并将其设置为转发代理(请参阅附件中的nginx.conf) 服务器过载了,好像其他人正在使用它。

有没有办法限制nginx代理只接收来自特定ips的请求?

请解释我应该如何更改nginx.conf以执行ip 123.456.123.345

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    gzip  on;

    server {
        listen       8080;

        location / {
            resolver 8.8.8.8;
            proxy_pass http://$http_host$uri$is_args$args;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

1 个答案:

答案 0 :(得分:8)

这样做:

location / {
    allow 123.456.123.345;
    deny  all;
    resolver 8.8.8.8;
    proxy_pass http://$http_host$uri$is_args$args;
}

来自docs

  

按顺序检查规则,直到找到第一个匹配项。

因此,如果IP等于123.456.123.345,则允许访问,否则 - 拒绝。

如果您想允许多个IP,可以在deny all;

之前指定它们
allow 123.456.123.345;
allow 345.123.456.123;
deny  all;

“location”指令应位于'server'指令