Nginx 在重定向到 docker 容器时返回错误 404

问题描述 投票:0回答:1

我有一个简单的应用程序,有两个独立的容器:一个到后端(api-container),另一个到前端(front-container)。

我想配置 ngnix 将所有从域 api.myurl.com 的请求重定向到后端容器,并将所有请求从 myurl.com 重定向到前端容器。

为此,我配置了 ngnix,如下所示:

server {

    listen  80;
    server_name myurl.com;

    location / {
        resolver 127.0.0.11;
        proxy_pass http://front-container:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

}

server {
    listen  80;
    server_name api.myurl.com;
    location / {
        resolver 127.0.0.11;
        proxy_pass http://api-container:3010;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

一切都几乎正常。当我访问 http://myurl.com 时,一切正常,但是当访问 http://myurl.com/other 等其他路由时,ngnix 返回 404 错误。这条路线在没有 ngnix 的情况下也能发挥作用。

我的配置有什么问题?

重要提示:ngninx 也在与其他容器位于同一网络的容器中运行。

docker nginx
1个回答
0
投票

我认为问题出在 nginx 配置上。请检查块位置并更改以下代码:

location / {
   try_files $uri $uri/ /index.php?$query_string;
}
© www.soinside.com 2019 - 2024. All rights reserved.