繁体   English   中英

Dokku-获取容器内Nginx反向代理的IP地址?

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

在我的ASP.NET Core服务器中,我已经进行转发以支持我的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网络上运行您的应用程序,并且唯一可以访问容器的是在服务器本身上运行的服务,因此允许从所有网络接口进行访问都是安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM