【问题标题】:Nginx different service on subrouteNginx 子路由上的不同服务
【发布时间】:2020-06-06 22:57:16
【问题描述】:

我有 2 个 Django 应用程序在 8080 和 8081 端口上运行。我使用 gunicorn 和 NGINX 为他们服务。

目前我只将端口 8080 上的应用添加到 NGINX,启用站点的配置(部分)如下所示:

location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
}

现在我需要添加第二个应用程序,它位于端口 8081 上,以便在 /second_app 路由上提供服务。所以我是这样看的:

/           -> 127.0.0.1:8080
/second_app -> 127.0.0.1:8081

但是,当我将第二个位置设置为 /second_app 时,它不起作用,我认为这两条路线会发生冲突,只要第一个位置更宽,它就会“消耗”请求。

另外我觉得值得一提的是,“8080 app”没有任何以/second_app开头的路由,所以不能和“8081 app”冲突。

【问题讨论】:

    标签: django nginx routes nginx-location nginx-config


    【解决方案1】:

    将您的新服务器更具体的正则表达式首先放在文件中并使用正确的block syntax

     location ^~ /second_app {
                proxy_pass http://127.0.0.1:8081;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 2019-12-02
      • 2018-06-11
      • 2021-11-14
      • 2021-07-09
      • 1970-01-01
      相关资源
      最近更新 更多