-
安装Nginx:
- 在你的系统上安装Nginx:
sudo apt update && sudo apt install nginx
- 在你的系统上安装Nginx:
-
创建配置文件:
-
打开Nginx的配置文件,通常位于
/etc/nginx/sites-available/default:sudo nano /etc/nginx/sites-available/default
-
在文件末尾,添加以下内容:
server { listen 80; server_name example.com; proxy_pass example.com:808; 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; proxy_max_size 1m; proxy_cache 1-level:2m; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; } -
保存并退出编辑器。
-
-
生成SSL证书:
- 生成域名对应的自签名证书和私钥(建议使用Let's Encrypt获取免费证书):
# 使用Let's Encrypt获取证书(需要域名) sudo letsencrypt certonly --domain example.com -- Familie shared:yes -m your.email@example.com
- 或者生成自签名证书:
sudo openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/example.com.key -out /etc/nginx/ssl/example.com.crt -ip 0...
- 输入域名、公司名称等信息。
- 生成完成后,证书和私钥文件位于
/etc/nginx/ssl/。
- 生成域名对应的自签名证书和私钥(建议使用Let's Encrypt获取免费证书):
-
配置Nginx SSL:
-
打开Nginx配置文件,添加SSL配置:
server { listen 80; server_name example.com; # HTTPS配置 ssl on; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_private_key /etc/nginx/ssl/example.com.key; ssl_session_cache shared:VB:10m; ssl_session_timeout 10m; } -
保存并退出编辑器。
-
-
防火墙设置:
- 确保Nginx的监听地址正确:
sudo ufw allow out 80 sudo ufw allow in 80
- 或者手动编辑防火墙规则:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
- 应确保防火墙允许Nginx的监听端口(80和443)。
- 确保Nginx的监听地址正确:
-
测试配置:
- 检查Nginx配置是否有错误:
sudo nginx -t
- 如果无误,重启Nginx:
sudo systemctl restart nginx
- 测试代理功能:
curl -I http://example.com:80
检查是否能成功连接到目标服务器。
- 检查Nginx配置是否有错误:
-
验证HTTPS:
- 使用curl测试HTTPS连接:
curl -I https://example.com:443
- 确保证书有效,HTTPS连接成功。
- 使用curl测试HTTPS连接:
通过以上步骤,你可以配置Nginx作为代理服务器,确保其他设备能够通过它访问外部网络,同时保护数据安全。




