步骤1:选择合适的代理软件
- Nginx:适用于高性能和灵活配置。
- Squid:适用于更复杂的代理需求。
步骤2:准备真实服务器
- 确保真实服务器(目标服务器)已在同一网络中,并配置好服务。
- 内部Web服务器或API服务。
步骤3:配置静态IP列表
- 创建一个包含允许访问真实服务器的IP地址列表。
allowed_ips = 192.168.1./24, 10.10.10.1
步骤4:安装并配置代理软件
使用Nginx配置示例:
- 安装Nginx。
- 打开Nginx配置文件(通常位于
/etc/nginx/sites-available/default)。 - 在
server块中,添加listen指令,指定要监听的IP和端口。listen 80; server_name your_domain.com;
- 在
location块中,使用proxy_pass指令指定目标服务器。location / { proxy_pass http://target_server_ip:target_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } - 根据请求的来源IP,决定是否进行代理,使用
if语句和$remote_addr变量。location / { if $remote_addr in allowed_ips { proxy_pass http://target_server_ip:target_port; } else { return 503; # 返回503 Forbidden错误 } }
使用Squid配置示例:
- 安装Squid。
- 打开Squid的配置文件(通常位于
/etc/squid/squid.conf)。 - 在
httpd.conf中,设置访问控制。httpd_access allow all:192.168.1./24; httpd_access allow 10.10.10.1;
- 配置目标服务器访问。
httpd_urlmap url= http://target_server_ip:target_port allow all:localhost
步骤5:应用配置并重启服务
- 保存配置文件后,重启Nginx或Squid服务。
sudo systemctl restart nginx
或
sudo systemctl restart squid
步骤6:测试配置
- 使用不同IP地址测试:
- 允许的IP地址:
curl http://your_domain.com。 - 不允许的IP地址:
curl http://blocked_ip,应返回403或503错误。
- 允许的IP地址:
步骤7:优化和安全
- 缓存:在Nginx中启用缓存,提升性能。
proxy_cache "cache_zone"; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; proxy_no_cache 500 502 503 504;
- 访问控制:确保仅允许特定IP或网络访问代理服务。
allow 192.168.1./24; deny all;
通过以上步骤,您可以配置加速器作为静态IP代理,确保特定IP地址的请求被正确转发或直接访问真实服务器。









