正如标题所述,我需要为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证书服务,但我只需要知道采取的最佳途径。谢谢。
答案 0 :(得分:7)
据我所知,当前尚无内置支持,请参阅this。
但是,您可以有多种选择来为ACI应用程序启用SSL连接。
如果您将容器组部署在Azure virtual network中,则可以考虑其他选项来为后端容器实例启用SSL端点,包括:
标准SSL证书映射到唯一的域名,因此每个域都需要单独的证书。
您可以开始在Sidecar容器中将Nginx设置为SSL提供程序,并且需要域api.myApp.com
的SSL证书。如果要使用域myApp.northamerica.azurecontainer.io
进行单独的安全访问,则可以在Nginx配置文件中配置额外的服务器块。请参阅configuring HTTPS server in Nginx。
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;
...
}
答案 1 :(得分:5)
在经历了研究的痛苦之后,我们终于找到了如何使用Caddy Docker映像作为辅助工具来向容器实例添加SSL。 Caddy使自动续订和验证所有权以颁发SSL变得容易。
我们写了一篇博客文章来帮助其他有相同问题的人。希望这可以帮助。
https://www.antstack.io/blog/how-to-enable-tls-for-hasura-graphql-engine-in-azure-caddy/