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

如何在Nginx中使用代理将路径转发至同网段的虚拟机

解决方案:将www.example.com/dev完整转发至开发VM

原配置中location /dev指向本地目录,要实现完整转发到同网段的开发VM,需将该块替换为反向代理配置,具体操作如下:

  1. 确认开发VM的内网IP
    获取开发VM的10.10.38.X段真实IP,下文假设为10.10.38.100,实际使用时替换为真实值。

  2. 修改生产服务器Nginx配置
    替换原location /dev块为以下反向代理配置:

location /dev/ {
    # 转发到开发VM的Web服务(默认80端口,若开发VM用其他端口需修改)
    proxy_pass http://10.10.38.100/;
    
    # 支持HTTP/1.1及WebSocket等升级请求
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    
    # 传递必要请求头,确保开发VM服务正常识别请求
    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_cache_bypass $http_upgrade;
    proxy_no_cache 1;
}

关键配置说明:

  • location /dev/和proxy_pass末尾的斜杠配合,会自动将/dev/xxx格式的请求转发为开发VM的/xxx,适配开发环境的应用路径结构。
  • 若开发VM的Web服务监听非80端口,需在proxy_pass中补充端口,例如http://10.10.38.100:8080/。
  1. 验证配置并重启服务
  • 执行配置语法检查:nginx -t
  • 重启Nginx使配置生效:systemctl restart nginx(根据系统环境调整命令)

注意事项:

  • 确保开发VM的防火墙允许生产VM的IP访问其Web服务端口(80或自定义端口)。
  • 开发VM的Nginx需配置为默认服务器(server_name _;)或匹配www.example.com,避免返回404错误。
  • 开发环境的API接口无需单独配置,反向代理会自动转发所有/dev/api请求到开发VM的/api路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 13:52:24