当前位置:首页 > nginx > 正文

nginx限制公网访问(nginx 代理访问公网)

  • nginx
  • 2024-03-30 10:37:27
  • 5975
限制公网访问 Nginx

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 身份验证,以限制对公网的访问。