nginx根据不同url路径代理到不同的网站,如何处理各自根目录的问题

新手上路,请多包涵

nginx根据不同url路径代理到不同的网站,如何处理各自根目录的问题

业务情景:现在域名common.abc.cn,映射到服务器(里面有多个不同的网站应用,如zabbix,tomcatdemo等等)。

现在希望访问:
1.http://common.abc.cn/zabbix 则进入zabbix网站
2.http://common.abc.cn/tomcatdemo 则进入tomcatdemo网站
... 依此类推

第1点已经实现(不了解实现原理,是php程序内部处理的?);
第2点存在的问题,首页访问成功,但下属的根目录路径异常,如图所示;

第n点的网站也存在类似情况;

请教各位大神,nginx配置需要怎么写才可以改写根目录的位置?

现在我的nginx配置为:

location / {
                proxy_pass http://common.abc.cn;
                proxy_redirect off;
               
        }
 
 location /tomcatdemo {
               proxy_pass      http://localhost:8080/;
               proxy_http_version 1.1;
               proxy_read_timeout   3600s;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection "upgrade";
        }
 
       # 采用别名zabbix方式:http://IP/zabbix,这样去访问,就不用nginx默认/目录了
        location /zabbix {
                #/usr/share/zabbix 是zabbix 前端的php文件所在目录
                alias /usr/share/zabbix;
                index index.html index.htm index.php;
        }
 
        location ~ ^/zabbix/.+\.php$ {
                fastcgi_pass   unix:/run/php-fpm/zabbix.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /usr/share$fastcgi_script_name;
                include        fastcgi_params;
        }
阅读 6.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题