-
确定目标
明确配置目的,如转发、缓存、负载均衡或隐藏IP。
-
选择代理软件
根据需求选择Nginx、Squid或其他工具,并安装。
-
安装代理软件
- 使用包管理器安装,
sudo apt-get install nginx
- 或使用Homebrew在Mac上安装。
- 使用包管理器安装,
-
设置权限和用户
- 创建非privileged用户,
useradd -g www-data www代理用户名
- 更改文件和目录权限:
chown -R www代理用户:www代理组 /etc/nginx/
- 创建非privileged用户,
-
配置Nginx
- 打开配置文件,通常位于
/etc/nginx/sites-available/default。 - 添加监听端口:
listen 80; server_name example.com;
- 配置代理:
proxy_pass http://目标IP:目标端口; proxy_set_header 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;
- 添加缓存设置:
proxy_cache 1m; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
- 打开配置文件,通常位于
-
启用SSL(可选)
- 配置SSL:
listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_key_file /path/to/private.key; ssl_ciphers TLSv1.2+; ssl_prefer_server_ciphers on; ssl_session_cache shared:10:10m;
- 配置访问限制:
limit_zone $binary_remote_addr:10m; limit_rate 100;
- 配置SSL:
-
定义访问规则(可选)
- 在
location /块中,添加重写规则:location / { rewrite ^(/.*) $1; proxy_pass http://目标IP:目标端口; proxy_set_header Host $host; proxy_set_header X-Host $host; proxy_set_header X-Forwarded-Host $host; }
- 在
-
启动Nginx
- 使用命令启动:
sudo systemctl start nginx
- 设置开机启动:
sudo systemctl enable nginx
- 使用命令启动:
-
测试配置
- 使用curl测试:
curl -I http://localhost:80
- 检查访问日志,确保请求正确转发。
- 使用curl测试:
-
优化性能
- 设置合理的缓存策略和连接数:
proxy_connect_timeout 10; proxy_send_timeout 10; proxy_max_connections 100;
- 设置合理的缓存策略和连接数:
-
日志管理
- 配置日志格式:
access_log logs/nginx_access.log; error_log logs/nginx_error.log debug;
- 定期清理旧日志,避免文件过大。
- 配置日志格式:
-
监控和维护
- 使用Prometheus监控性能指标。
- 定期检查日志,清理缓存,更新软件。
-
文档记录
详细记录配置文件内容、端口设置和域名对应关系,以便维护和调整。
通过以上步骤,你可以配置一个功能强大且高效的网络代理工具,满足不同需求。
