当前位置: 首页 > 知识库问答 >
问题:

Nginx第7层请求路由

缑嘉玉
2023-03-14

因此,我尝试使用docker和Nginx根据请求对3个不同的容器进行路由。容器具有相同的IP和不同的端口。以下是Nginx配置:

upstream helpdesk{
    server 10.10.10.20:8089;
}

upstream dsi_helpdesk{
    server 10.10.10.20:8088;
}

upstream drh_helpdesk{
    server 10.10.10.20:8090;
}

server {

    listen       80;
    server_name  myticket.grgsh.com;


    location / {
        proxy_set_header Host $host;
        proxy_pass http://helpdesk;
    }

    location /dsi {
        proxy_set_header Host $host;
        proxy_pass http://dsi_helpdesk;
    }

    location /drh {
        proxy_set_header Host $host;
        proxy_pass http://drh_helpdesk;
    }

}

当我导航到myticket.grgsh.com时,服务器将我重定向到上游的帮助台,但当我导航到myticket.grgsh.com/dsi或myticket.grgsh.com/drh时,我会得到错误:

未找到此服务器上未找到请求的URL。

有人能帮忙解决这个问题吗?谢了。

共有1个答案

冀望
2023-03-14

解决办法是:

这个

location /dsi {
    proxy_set_header Host $host;
    proxy_pass http://dsi_helpdesk;
}

需要这样

location /dsi/ {
    proxy_set_header Host $host;
    proxy_pass http://dsi_helpdesk/;
}
 类似资料:
  • 在常见的Web框架中,router是必备的组件。Go语言圈子里router也时常被称为http的multiplexer。在上一节中我们通过对Burrow代码的简单学习,已经知道如何用http标准库中内置的mux来完成简单的路由功能了。如果开发Web系统对路径中带参数没什么兴趣的话,用http标准库中的mux就可以。 RESTful是几年前刮起的API设计风潮,在RESTful中除了GET和POST

  • Herosphp的url结构采用的是pathinfo的形式,没有严格的路由,只要你的请求方式遵循我们定义的格式组装URL,就可以自动路由,不像某些其他框架一样需要手动添加路由。URL的结构如下: 标准格式:/ucenter/user/login/userid-123-username-xiaoming.shtml (伪静态模式) 当然你也可以这样写: 常规格式:/ucenter/user/logi

  • 我在Openshift上有一个应用程序,几个月来一直运行良好,突然变得503。Haproxy状态表示第7层错误状态内部服务器错误 我已经检查了日志,没有提到任何特别的东西。我已经检查了使用限额,它远远低于1024m的限制。我已经多次重启该应用程序,但没有成功。我已经检查了haproxy.cfg,根齿轮地址是正确的。 怎么会这样呢?似乎一切都失去了,因为没有关于它的文件。

  • 了解的内容:引入子程序的作用,制作用户子程序库的方法。 掌握的内容:在子程序中,保护和恢复寄存器的原因和方法。 熟练掌握的内容:子程序定义的一般格式,子程序的调用和返回指令,调用子程序常用的参数传递方法,模块间通信的方法。 建议学习时间:8小时。

  • 在尝试部署我使用django开发服务器开发的博客时收到400错误后,我开始了一个新的测试项目(使用start project,不做其他任何事情——只是在这里和那里进行一点配置)-尽可能少,以保持尽可能简单。 当我执行“manage.py runserver”时,它会显示一个页面,说我看到了这个,因为我的设置中有“DEBUG=True”。 到现在为止,一直都还不错。没有错误。 但是如果我使用uWSG

  • 引导 servlet 服务请求的请求路径由许多重要部分组成。以下元素从请求URI路径得到,并通过请求对象公开: Context Path:与ServletContext相关联的路径前缀是这个Servlet 的一部分。如果这个上下文是基于Web服务器的URL命名空间基础上的“默认”上下文,那么这个路径将是一个空字符串。否则,如果上下文不是基于服务器的命名空间,那么这个路径以“/”字符开始,但不以“/