安装Nginx
- 在Ubuntu上安装Nginx:
sudo apt update sudo apt install nginx
- 启动Nginx:
sudo systemctl start nginx sudo systemctl enable nginx
配置Nginx
-
打开Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
如果使用了域名,请在
server_name中设置域名,如proxy.example.com。 -
配置代理设置:
server_name proxy.example.com; # 代理上游服务器 server_max_body_size 512M; proxy_pass http://192.168.1.100:80; # 安全设置 client_max_body_size 1M; client_header_max_size 1M; client_body_buffer_size 10M; # 隐藏敏感信息 proxy_hide_header X-Forwarded-*; proxy_response_headers 'X-Frame-Options: DENY'; real_ip_header off; # 访问日志 access_log /var/log/nginx/access.log; # HTTPS配置 ssl on; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:RC4:HIGH:!:VIA:!SSLv2; ssl_prefer_server_ciphers on; ssl_session_cache shared:10m; ssl_error_report_by_field on; # 域名和端口 listen 80; server_name proxy.example.com; # 处理请求 location / { proxy_pass http://192.168.1.100:80; 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; } # 404错误页 error_page 404 /images/404.png; -
保存并退出编辑器。
生成SSL证书
- 生成私钥和证书:
sudo openssl genrsa -out /etc/ssl/private/nginx.key 2048 sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/certs/nginx.crt -out /etc/ssl/certs/nginx.crt -days 365 -nodes
注意:在生产环境中,建议使用证书管理工具如Let's Encrypt获取免费证书。
配置HTTPS
- 在Nginx配置文件中添加HTTPS部分:
listen 443 ssl; ssl_certificate /etc/ssl/certs/nginx.crt; ssl_certificate_key /etc/ssl/private/nginx.key;
测试配置
- 启动Nginx:
sudo systemctl start nginx
- 使用curl测试:
curl -I http://localhost:808/ # 测试HTTP curl -I https://localhost:8443/ # 测试HTTPS
注意:如果Nginx没有启动,可能需要使用
sudo systemctl start nginx。
优化与监控
-
性能优化:
- 使用缓存层(如Redis或Memcached)。
- 调整
client_max_body_size和client_body_buffer_size根据需求调整。
-
监控工具:
- 使用
nginx -t检查配置是否正确。 - 部署监控工具如Zabbix或Prometheus,监控Nginx状态和性能指标。
- 使用
通过以上步骤,您可以成功配置并优化代理服务器,确保网络流量管理和安全。
