502 Bad Gateway - NGINX 没有定义解析器来解析

Ste*_*nsz 10 reverse-proxy localhost nginx nginx-reverse-proxy

我为多个 URL 创建了一个代理通行证。

    listen 80;
    listen [::]:80;

    server_name ~^(.*)redzilla\.11\.75\.65\.21\.xip\.io$;

            location / {
                    set $instname $1;
                    proxy_pass http://${instname}redzilla.localhost:3000;
            }
Run Code Online (Sandbox Code Playgroud)

当我使用 chrome 调用此服务时,触发了 502 错误。

http://test.redzilla.11.75.65.21.xip.io/

我通过硬编码 URL 将位置标记放在下面。

            location /redzilla {
                    proxy_pass http://test.redzilla.localhost:3000;
            }
Run Code Online (Sandbox Code Playgroud)

然后它仅适用于上述 URL。我想知道如何在单个位置标签中为多个 URL 创建代理传递。(请注意:URL 模式为 *.redzilla.localhost:3000 ,*(星号)代表任何单词)

sne*_*nez 15

如果您在 docker 中使用 nginx,请使用 docker network create ... 定义一个网络。属于该网络一部分的容器(通过 docker run 上的 --network 标志)将添加一个 dns 解析器,可通过127.0.0.11。

然后在您的 server {} 指令中添加“resolver 127.0.0.11;”