Dokku - 获取容器内 nginx 反向代理的 ip 地址?

Dokku - get ip address of nginx reverse proxy inside container?

在我的 ASP.NET 核心服务器中,我有转发来支持我的 OpenId Connect 身份验证工作流程:

public void ConfigureServices(IServiceCollection services)
{
  services.Configure<ForwardedHeadersOptions>(options =>
  {
      options.ForwardedHeaders = ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedFor;

      // Only loopback proxies are allowed by default.
      // Clear that restriction because forwarders are enabled by explicit
      // configuration.
      options.KnownNetworks.Clear();
      options.KnownProxies.Clear();
  }
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  app.UseForwardedHeaders();
}

但是,我想配置 KnownProxies(和 KnownNetworks)。有没有办法找出代理服务器的 IP 地址(在容器的上下文中)?配置是静态的吗?如果没有,可以自动化吗?

此外,这个地址是否与主机地址相同。 IE。将 ip 地址解析为 host.docker.internal 有帮助吗?无论如何,在 Linux 环境中这似乎不是一件容易的事...

另外,以上代码来自this documentation。重新阅读该部分,是否可以保留上面的代码?我假设锁定到特定代理服务器会更好?

容器 IP 是临时的,可能会在应用重建或重新部署时发生变化。默认情况下,Dokku 会 运行 你的应用程序在内部 docker0 网络上,唯一可以访问容器的是服务器本身上的服务 运行,因此允许从所有网络访问接口是安全的。