-
安装Nginx:
- 在Ubuntu上使用apt-get安装Nginx:
sudo apt-get update sudo apt-get install nginx
- 启动并确保Nginx运行:
sudo systemctl start nginx sudo systemctl enable nginx
- 在Ubuntu上使用apt-get安装Nginx:
-
配置Nginx:
- 打开Nginx的配置文件(通常位于
/etc/nginx/sites-available/default):sudo nano /etc/nginx/sites-available/default
- 添加以下内容:
server { listen 80; server_name your_domain.com; proxy_pass http://target_ip:target_port; proxy_set_header Host target_domain.com; 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; }target_ip:目标服务器的IP地址。target_port:目标服务器的端口。your_domain.com:代理监听的域名或IP地址。
- 保存并退出编辑器。
- 打开Nginx的配置文件(通常位于
-
启用配置文件:
- 创建符号链接使Nginx知道使用该配置文件:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
- 创建符号链接使Nginx知道使用该配置文件:
-
重新加载Nginx:
- 使更改生效:
sudo systemctl reload nginx
- 使更改生效:
-
安装必要的软件包:
- 安装certbot(Let's Encrypt):
sudo apt-get install python certbot
- 生成SSL证书:
sudo certbot certonly --email admin@example.com --domain your_domain.com
- 安装certbot(Let's Encrypt):
-
配置Nginx SSL:
- 打开Nginx配置文件,添加SSL部分:
server { listen 443 ssl http2; server_name your_domain.com; ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; ssl_private_key /etc/letsencrypt/live/your_domain.com/privkey.pem; proxy_pass http://target_ip:target_port; proxy_set_header Host target_domain.com; 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; } - 保存并退出编辑器。
- 打开Nginx配置文件,添加SSL部分:
-
测试配置:
- 使用curl测试:
curl -I http://your_domain.com
- 在浏览器中访问
http://your_domain.com,确保页面显示正确。
- 使用curl测试:
-
权限设置:
- 创建Nginx组:
sudo addgroup -g nginx sudo adduser -g nginx nginx
- 设置权限:
sudo chown -R nginx:nginx /etc/nginx/ sudo chmod -R 755 /etc/nginx/
- 创建Nginx组:
通过以上步骤,您可以配置一个功能完善的代理服务器,确保请求正确转发并加密传输,根据具体需求,可能需要进一步配置缓存、负载均衡等高级功能。








