Nginx 是一种 Web 服务器,可以通过配置限制对公网的访问。
1. 限制服务器端点:
使用 listen 指令仅在特定端口或 IP 地址侦听,例如:
listen 127.0.0.1:80; # 仅限本地访问
2. 配置防火墙:
在防火墙中添加规则以阻止所有来自公网的流量,同时允许本地访问,例如:
iptables -A INPUT -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 80 -j DROP
3. 启用 IP 限制:
使用 allow 和 deny 指令仅允许或拒绝来自特定 IP 地址的访问,例如:
location / {
allow 192.168.1.100;
deny all;
}
4. 使用客户端 IP 模块:
安装 ngx_http_realip_module 模块,它使 Nginx 能够识别客户端的实际 IP 地址,即使它通过代理连接:
location / {
set_real_ip_from 192.168.1.0/24;
real_ip_header X-Forwarded-For;
}
5. 使用地理位置限制:
安装 ngx_http_geoip2_module 模块,它使 Nginx 能够根据地理位置限制访问:
location / {
geoip2_country CN; # 仅允许来自中国的访问
deny all;
}
6. 使用身份验证:
配置 Nginx 以使用身份验证,例如基本身份验证或 JWT 身份验证,以限制对公网的访问。
上一篇:nginx限制访问频率