【发布时间】:2020-12-21 05:48:41
【问题描述】:
我正在使用 Linux 将各种 .NET 核心 API 项目容器化并在 Kubernetes 集群中运行它们。我对这种情况相当陌生(我通常将应用服务与 Windows 一起使用),并且开始出现有关安全连接最佳实践的问题:
-
由于这些将作为集群内的 pod 运行,我的假设是我只需要公开端口 80 对吗?这都是由服务和入口管理的内部流量。但这是一个好习惯吗?一旦我使用证书配置域并且安全流量开始到达正在运行的 pod,是否会出现问题?
-
到了集成 SSL 的时候,我将不得不担心在容器上打开端口 443 或管理容器本身内的任何证书,或者这一切都将由 Ingress、Services(或应用程序网关,因为我正在使用AKS)?现在,当我需要使用 HTTPS 在本地进行测试时,我必须向容器添加自签名证书并打开端口 443,我的假设是这不应该用于生产!
-
当我部署到我的集群(我正在使用 AKS)时,只打开了 80 端口并分配了一个 LoadBalancer 服务,我得到了一个公共 IP 地址。我习惯于使用 Azure App Services,您可以在其中使用开箱即用的全局 Miscrosoft SSL 证书,如下所示:https://your-app.azurewebsites.net 但是,当我转到公共 IP 并配置 DNS 标签时就像是: your-app.southcentralus.cloudapp.azure.com 它不允许我像应用服务那样使用 HTTPS。 IP地址也没有。也许我的 Kubernetes 实例没有正确配置一些东西?
-
由于其中许多服务将是面向公众的 API 端点(但由客户端应用程序使用),因此它们不需要自定义域名,因为大多数公众不会看到它们。有没有办法利用 IP 地址或 .cloudapp.azure.com 域的安全连接?如果我必须为我的每项服务管理证书,那将是成本/时间过高!
【问题讨论】:
标签: azure ssl kubernetes azure-aks