【问题标题】:How do you configure a DotNet Core 3.0 app to take HTTPS requests fron a NGINX and Docker如何配置 DotNet Core 3.0 应用程序以接收来自 NGINX 和 Docker 的 HTTPS 请求
【发布时间】:2020-02-05 10:17:04
【问题描述】:

我在设置应用程序时遇到问题。我将 Docker 用于所有容器。我有一个容器接收来自运行 NGINX 代理服务器的主机的请求。我使用 NGINX 作为我的边缘服务器,它处理 HTTP -> HTTPS 切换和证书管理(如果重要,我使用通配符证书)。然后它在位置“/”处点击主应用程序。主应用程序位于一个单独的容器中,并运行 DotNet Core 3.0。它们都在同一个 docker 网络上。我的问题是以安全的方式连接 2。我首先尝试使用相同的证书配置 Kestrel,但出现了问题,可能是文档错误。我决定放弃它并在没有 Kestrel 的情况下尝试它,因为 NGINX 在技术上是边缘服务器,但我遇到了来自 NGINX 的 HTTPS 问题并被应用程序拒绝,例如不安全的连接或找不到证书。我找到的所有信息都有我需要的点点滴滴,我觉得我缺少一小部分来完成这项工作。在应用程序和代理之间配置安全连接的正确方法是什么?如何获取静态 IP/端口以便连接它们?

【问题讨论】:

    标签: docker nginx https configuration .net-core-3.0


    【解决方案1】:

    在阅读了更多文档之后,看起来我原来的方法是最好的方法。见,https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.0#configuration。建议使用

    运行 Kestrel

    由于我在反向代理后面运行应用程序,跨不同的 IP 地址,这成为同一域上的跨源情况。因此解决方案是将 Kestrel 配置为使用边缘服务器使用的通配符证书使用 HTTPS。这应该实现最佳实践,从客户端到应用的端到端加密。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      相关资源
      最近更新 更多