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

Eli*_*iss 3 proxy nginx

我已经安装了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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ole*_*leg 11

像这样做:

location / {
    allow 123.456.123.345;
    deny  all;
    resolver 8.8.8.8;
    proxy_pass http://$http_host$uri$is_args$args;
}
Run Code Online (Sandbox Code Playgroud)

来自文档:

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

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

如果要允许多个IP,可以在deny all;以下情况之前指定它们:

allow 123.456.123.345;
allow 345.123.456.123;
deny  all;
Run Code Online (Sandbox Code Playgroud)

"location"指令应该在'server'指令内