image.png
可以结合我之前的文章:https://zhuanlan.zhihu.com/p/715159112
用域名搭建一个ServerStatus中文版在线网站
要配置 Nginx 作为 HTTPS 反向代理处理流量,可以按照以下步骤进行设置:
步骤一:安装和准备 Nginx
-
安装 Nginx:
- 如果您还没有安装 Nginx,可以使用包管理器进行安装。例如,在 Debian/Ubuntu 系统上运行:
sudo apt update sudo apt install nginx
- 如果您还没有安装 Nginx,可以使用包管理器进行安装。例如,在 Debian/Ubuntu 系统上运行:
-
生成或获取 SSL 证书:
- 如果您的 Nginx 服务器本身需要终止 SSL 连接(例如使用自定义 SSL 证书),您需要获取 SSL 证书。可以使用 Let's Encrypt 免费获取证书,或者使用其他证书颁发机构(CA)。
- 使用 Let's Encrypt 获取证书的命令如下:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com -d www.your_domain.com
步骤二:配置 Nginx 反向代理
-
创建或编辑 Nginx 配置文件:
- 在
/etc/nginx/sites-available/
目录下创建或编辑一个配置文件。假设您的域名是example.com
:sudo nano /etc/nginx/sites-available/example.com
- 在
-
设置反向代理配置:
-
添加以下配置来设置 Nginx 为 HTTPS 反向代理:
server { listen 80; listen [::]:80; server_name example.com www.example.com; # Redirect all HTTP requests to HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name example.com www.example.com; # SSL configuration ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; # Proxy pass configuration location / { proxy_pass http://127.0.0.1:8080; # 修改为您的后端服务端口 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_pass
应指向您服务的内部 IP 和端口(例如http://127.0.0.1:8080
),ssl_certificate
和ssl_certificate_key
路径指向您的 SSL 证书文件。
-
-
启用配置并重启 Nginx:
- 启用该站点配置:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
- 测试 Nginx 配置的正确性:
sudo nginx -t
- 如果测试通过,重载 Nginx 使新配置生效:
sudo systemctl reload nginx
- 启用该站点配置:
步骤三:测试与验证
-
测试 HTTPS 访问:
- 通过浏览器访问
https://example.com
,确保页面加载正常,且通过 HTTPS 进行访问。
- 通过浏览器访问
-
验证 SSL/TLS:
- 使用
curl
或其他工具测试 SSL 配置是否正确:curl -I https://example.com
- 确保返回的头信息中显示 HTTP 状态为
200 OK
,并且 SSL 连接正常。
- 使用
步骤四:监控与优化
-
监控 Nginx 日志:
- 检查访问日志和错误日志,确保没有配置错误或其他问题。
sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log
- 检查访问日志和错误日志,确保没有配置错误或其他问题。
-
进一步优化:
- 根据需求优化 Nginx 的性能设置,例如启用压缩、调整缓冲区大小、使用 HTTP/2 等。
通过上述配置步骤,您的 Nginx 服务器将能够安全、高效地作为 HTTPS 反向代理处理通过浏览器转发的流量。