Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dokku-在容器中获取nginx反向代理的ip地址?_Nginx_Asp.net Core_Reverse Proxy_Dokku - Fatal编程技术网

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

Dokku-在容器中获取nginx反向代理的ip地址?,nginx,asp.net-core,reverse-proxy,dokku,Nginx,Asp.net Core,Reverse Proxy,Dokku,在我的ASP.NET核心服务器中,我有转发功能来支持我的OpenId Connect身份验证工作流: public void ConfigureServices(IServiceCollection services) { services.Configure<ForwardedHeadersOptions>(options => { options.ForwardedHeaders = ForwardedHeaders.XForwardedProto |

在我的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地址?配置是静态的吗?若否,可否自动化

还有,这个地址和主机地址是一样的吗。例如,将ip地址解析为host.docker.internal有帮助吗?在Linux环境中,这似乎不是一件容易的事情


另外,上面的代码来自。重新阅读该部分,可以不使用上述代码吗?我假设锁定到某个特定的代理服务器会更好?

容器IP是短暂的,可能会随着应用程序的重建或重新部署而改变。默认情况下,Dokku将在内部docker0网络上运行您的应用程序,唯一可以访问容器的是服务器本身上运行的服务,因此允许从所有网络接口访问是安全的。

我认为您应该使用环境变量来设置URI。这可能导致您的应用程序独立于平台。您可以通过dockerfile或在CI/CD管道中设置环境变量。是的,我认为这是一个很好的方法。但是,为了做到这一点,我需要确认Dukko中容器中代理服务器的IP地址不是Ephemeralcol。谢谢在这种情况下,我对代码示例很满意!