要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

createh510小时前技术教程3

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:

步骤说明

  1. 创建或编辑Nginx配置文件
    通常配置文件位于
    /etc/nginx/sites-available/。可以新建一个文件(如your_config)或修改默认配置。
  2. 配置Server块
    设置监听端口(HTTP 80或HTTPS 443),域名,以及路径转发规则。
  3. 定义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.1localhost绑定)。
  • 日志排查
    若请求未按预期转发,检查Nginx错误日志(
    /var/log/nginx/error.log)排查问题。

通过以上配置,访问www.4rvi.cn/api会代理到5002端口,www.4rvi.cn/sfu会代理到5003端口。

相关文章

部署Nginx-一个ip,多个域名,部署多个项目

一、背景无论是在centos、ubuntu、iis等云服务器,还是在个人的电脑上,当部署Nginx时,基本上都会遇到想用一台服务器(只有一个IP)映射到多个域名上,以供访问多个不同的前端项目的情况(这...

在 Nginx 中防止 SSL 证书被其他域名“窜用”

在 Nginx 中防止 SSL 证书被其他域名“窜用”(即防止未经授权的域名使用你的 SSL 证书),需要确保你的服务器配置只允许合法域名访问,并通过适当的配置阻止非法域名的 HTTPS 请求。一般情...

搭建nginx反向代理用作内网域名转发

情景由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口。非80端...

Nginx域名配置

对于想搭建自己博客或者其他个人网站的小伙伴,可能会需要配置域名。在我们购买完服务器,代码敲完,项目搞定,怎么使用域名访问呢?首先购买域名(要有DNS解析)-> 然后域名备案与审核 -> 最...

使用nginx配置动态域名解析

使用nginx配置来达到动态域名解析,resolver指令设置解析器的地址using-nginx-map-directive-to-dynamically-set-proxy-upstream要使用...