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

发布于 2022-09-13 00:37:15 字数 1514 浏览 23 评论 0

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;
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文