要将端口5002和5003通过Nginx代理到一个域名上的操作笔记
要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:
步骤说明
- 创建或编辑Nginx配置文件
通常配置文件位于/etc/nginx/sites-available/。可以新建一个文件(如your_config)或修改默认配置。 - 配置Server块
设置监听端口(HTTP 80或HTTPS 443),域名,以及路径转发规则。 - 定义Location块
分别处理/api和/sfu路径的请求,转发到对应的本地端口。
具体配置示例
server {
listen 80;
server_name www.4rvi.cn;
# 代理5002端口到/api
location /api/ {
proxy_pass http://localhost:5002/;
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;
}
# 代理5003端口到/sfu
location /sfu/ {
proxy_pass http://localhost:5003/;
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;
}
# 可选:处理不带结尾斜杠的请求,重定向到带斜杠的路径
location = /api {
return 301 $scheme://$host/api/;
}
location = /sfu {
return 301 $scheme://$host/sfu/;
}
}
配置说明
- 路径匹配
location /api/会匹配以/api/开头的请求(如/api/test),proxy_pass后的斜杠/会移除/api前缀,将请求转发到http://localhost:5002/test。 - Header设置
确保后端服务能获取客户端真实IP和协议信息。 - 重定向处理
当用户访问/api或/sfu(不带斜杠)时,自动重定向到带斜杠的路径,保持一致性。
应用配置
- 测试配置
执行以下命令检查语法错误:
sudo nginx -t
- 重新加载Nginx
配置无误后,重新加载使配置生效:
sudo systemctl reload nginx
注意事项
- HTTPS支持
若需启用HTTPS,需在listen中添加443端口并配置SSL证书,例如:
listen 443 ssl;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
- 后端服务健康检查
确保5002和5003端口的服务已运行,并且允许本地访问(如使用127.0.0.1或localhost绑定)。 - 日志排查
若请求未按预期转发,检查Nginx错误日志(/var/log/nginx/error.log)排查问题。
通过以上配置,访问www.4rvi.cn/api会代理到5002端口,www.4rvi.cn/sfu会代理到5003端口。