我已经安装了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;
}
}
}
答案 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'指令
中