使用nginx容器作为反向代理时的原始url

kat*_*aik 2 nginx single-sign-on docker

我有一个 Web 应用程序部署为docker 容器。我还设置了一个nginx容器(使用dnsmasq解析器)作为 Web 应用程序前面的反向代理,它的 80 端口映射到主机。我的应用程序使用 SSO 身份验证。

当我使用身份提供商登录时,回调 url 似乎是我的 Web 应用程序的内部域名,而不是主机上的正确 url。

我的 Nginx 配置:

server {
    resolver 127.0.0.1 valid=1s ipv6=off;
    set $upstream_endpoint http://myapp:5000;
    listen 80;

    location / {
      proxy_pass $upstream_endpoint;
    }
}
Run Code Online (Sandbox Code Playgroud)

sso 尝试重定向到的回调 URL 是http://myapp:5000而不是http://myhost.com:80,这显然会失败,因为它是内部的。

有人可以帮我找到如何正确设置 nginx 吗?

Ale*_*gin 5

将此指令添加到以下位置:

proxy_set_header Host myhost.com;