如何将 SSL 添加到 Azure 容器实例应用程序?

yum*_*ins 9 dns ssl azure docker azure-container-instances

正如标题所说,我需要为 Azure 容器实例中托管的应用程序设置 SSL,但是,我不太确定需要从哪里开始。

我有一个通过 Azure 容器实例托管在地址 的容器化应用程序http://myApp.northamerica.azurecontainer.io。该地址被位于 的“官方”地址所掩盖http://api.myApp.com

有什么理由不能将 SSL 添加到表面域 @ http://api.myApp.com,重定向到真正的域 @http://myApp.northamerica.azurecontainer.io吗?或者我是否需要将 SSL 添加到两个域?

此外,如果我需要使用 SSL 保护两个域,我是否需要为每个域获取单独的证书?

Azure 提供 SSL 证书服务,但我只需要知道最佳路线。谢谢。

Vis*_*a K 10

在经历了围绕这个研究的痛苦之后,我们终于想出了如何使用 Caddy Docker 镜像作为 sidecar 将 SSL 添加到容器实例。Caddy 使自动续订和验证所有权以颁发 SSL 变得容易。

我们写了一篇博文来帮助遇到同样问题的其他人。希望这可以帮助。

https://www.antstack.io/blog/how-to-enable-tls-for-hasura-graphql-engine-in-azure-caddy/


Nan*_*ong 8

据我所知,目前还没有内置支持在 Azure 容器实例上启用 SSL,请参阅

但是,您可以有多种选择来为 ACI 应用程序启用 SSL 连接。

如果在Azure 虚拟网络中部署容器组,则可以考虑其他选项来为后端容器实例启用 SSL 终结点,包括:

标准 SSL 证书映射到唯一的域名,因此您需要为每个域提供单独的证书。

您可以开始将 Nginx 设置为 sidecar 容器中的 SSL 提供程序,并且您需要域的 SSL 证书api.myApp.com。如果您想与 domain 单独安全访问myApp.northamerica.azurecontainer.io,您可以在 Nginx 配置文件中配置额外的服务器块。参考在 Nginx 中配置 HTTPS 服务器

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 有任何资源可以设置 Lets Encrypt for ACI? (3认同)
  • 知道如何为 Windows 容器执行此操作吗? (2认同)