QiangLi_strong 2017-06-16 02:43 采纳率: 0%
浏览 5646

Nginx反向代理中绝对目录如何处理?

场景需求

现要设计一个对外网关服务器,代理众多公司内部的其他服务。
现在使用的方法为nginx反向代理。
Nginx.conf中代码如下

location ^~ /services/ {
    ...
    proxy_pass 真实uri
    ...
}

遇到的问题

当某一个服务的html代码中包含对绝对目录的资源访问或者跳转时会出现问题。

比如要代理abc网站 10.10.10.10/
该网站的html中包含对 /static/a.jpg资源的访问。

当用户访问我的网关服务器时,调用的方法依次为
Get www.xxx.com/services/abc
Get www.xxx.com/static/a.jpg,此时会get失败。

现有的临时应对方法为在nginx.conf中添加对abc网站绝对目录的代理,如下

location /static/ {
    proxy_pass http://10.10.10.10/static/;
}

但是如果服务一多,就会冲突。

请问问题如何解决?

谢谢各位大神浏览。

  • 写回答

1条回答 默认 最新

  • oyljerry 2017-06-16 03:31
    关注

    Nginx你代理的时候应该只代理到Get www.xxx.com路径,后面的path (services,static等)都由被代理的服务器处理。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序