You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何本地测试配置多服务的Nginx反向代理?

本地多域名路由解决方案

步骤1:修改hosts文件映射域名到本地

先把两个域名都指向127.0.0.1,编辑/etc/hosts文件添加以下两行:

127.0.0.1 example.com
127.0.0.1 example-api.com

注:hosts文件仅负责域名到IP的解析,不支持绑定端口,这一步仅完成域名指向本地,后续靠Nginx区分不同域名的转发目标。

步骤2:配置Nginx反向代理区分域名

编辑Nginx的虚拟主机配置(比如在/etc/nginx/sites-available/下新建local-dev.conf,或修改默认配置文件),添加两个server块分别处理两个域名:

处理前端网站(example.com)

假设你的前端服务运行在本地3000端口:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        # 传递必要请求头,避免后端服务识别异常
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

处理后端API(example-api.com)

假设你的后端API服务运行在本地8080端口:

server {
    listen 80;
    server_name example-api.com;

    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;
        # 若API有跨域、特定请求头需求,可在此添加对应配置
    }
}

步骤3:启用配置并重启Nginx

  1. 如果是新建的配置文件,先创建软链接到启用目录:
sudo ln -s /etc/nginx/sites-available/local-dev.conf /etc/nginx/sites-enabled/
  1. 测试配置文件语法是否正确:
sudo nginx -t
  1. 重启Nginx使配置生效:
sudo systemctl restart nginx

完成后,访问example.com时Nginx会自动转发到本地3000端口的前端服务;访问example-api.com时则转发到8080端口的后端API服务。

内容的提问来源于stack exchange,提问作者hiptip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:05:21