如何借助Azure资源为ACI上的NextJS应用配置HTTPS证书访问?
所需Azure资源选择
根据你的需求(使用Azure托管HTTPS证书、类似.azurewebsites.net的域名访问ACI上的NextJS应用),分两种场景给出资源方案:
场景1:必须使用.azurewebsites.net域名后缀
直接替换现有ACI部署,使用:
- Azure App Service(容器版)
- 作用:将你的NextJS容器镜像部署到App Service的容器运行环境,自动分配
.azurewebsites.net格式的默认域名。 - 优势:自带Azure托管的免费HTTPS证书(针对该默认域名),无需额外配置证书;自动处理HTTPS请求到容器3000端口HTTP的转发,只需在App Service的容器配置中指定监听端口为3000即可。
- 作用:将你的NextJS容器镜像部署到App Service的容器运行环境,自动分配
场景2:保留现有ACI实例,使用Azure托管HTTPS证书
需要组合以下资源:
- Azure Front Door
- 作用:作为全局反向代理入口,负责HTTPS终止(使用Azure托管的免费证书,对应其默认的
.azurefd.net域名),将HTTPS请求转发到ACI的http://<container-ip>:3000地址。 - 补充:如果需要绑定自定义域名,也可以通过Front Door配置Azure托管证书实现HTTPS访问。
- 作用:作为全局反向代理入口,负责HTTPS终止(使用Azure托管的免费证书,对应其默认的
- Azure Virtual Network(可选)
- 作用:如果你的ACI部署在私有虚拟网络中(未暴露公网IP),需要将Front Door与虚拟网络通过私有端点连接,确保流量安全转发到ACI。
- Azure Private DNS Zone(可选)
- 作用:配合私有端点使用,解析ACI的内部私有IP地址,让Front Door可以正确路由到ACI实例。
注意事项
.azurewebsites.net是Azure App Service专属的默认域名后缀,只有将容器部署到App Service才能直接获得该格式的域名。- 无论哪种方案,都需要确保你的NextJS应用允许来自代理(App Service/Front Door)的HTTP请求,无需额外配置HTTPS(因为代理已处理SSL终止)。
内容的提问来源于stack exchange,提问作者Shahid Roofi Khan
相关产品推荐
相关产品推荐

