As the title says, I need to setup SSL for an app hosted in Azure Container Instances, however, I'm not quite sure where I need to start.
I have a containerized app hosted via Azure Container Instances at the address http://myApp.northamerica.azurecontainer.io
. This address is masked by the 'official' address at http://api.myApp.com
.
Is there any reason why I can't just add SSL to the superficial domain @ http://api.myApp.com
, that redirects to the real domain @ http://myApp.northamerica.azurecontainer.io
? Or do I need to add SSL to both domains?
Furthermore, if I need to secure both domains with SSL, do I need to get separate certificates for each?
Azure provides SSL cert services but I just need to know the best route to take. Thanks.
In the Azure portal, from the left menu, select App Services > <app-name>. From your app's navigation menu, select TLS/SSL settings > Private Key Certificates (. pfx) > Import App Service Certificate. Select the certificate that you just purchased, and then select OK.
After going through the pain of researching around this, we finally figured how to use Caddy Docker image as sidecar to add SSL to Container Instances. Caddy makes it easy to auto renew and verify the ownership to issue SSL.
We wrote a blog post to help others who have same problem. Hope this helps.
https://www.antstack.io/blog/how-to-enable-tls-for-hasura-graphql-engine-in-azure-caddy/
As far as I know, currently, there is still no built-in support for enabling SSL on Azure Container Instances refer to this.
However, you could have multiple choices for enabling SSL connections for your ACI application.
If you deploy your container group in an Azure virtual network, you can consider other options to enable an SSL endpoint for a backend container instance, including:
The standard SSL certificate maps to a unique domain name, so you need separate certificates for each domain.
You can get started to set up Nginx as an SSL provider in a sidecar container and you need an SSL certificate for the domain api.myApp.com
. If you want separate secure access with domain myApp.northamerica.azurecontainer.io
, you could configure extra server block in the Nginx config file. Refer to 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;
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With