AKS搭配应用网关的自定义域名与证书配置问询
AKS与Application Gateway自定义域名及证书配置疑问
现有环境场景
- 客户已注册自定义域名:
api.<appname>.dev.client.com - 已为该域名在Azure购买非通配符托管服务应用证书(客户明确避免使用通配符)
- 前端托管于Azure Static Web App,自定义域名
<appname>.dev.client.com配置完成,Azure自动生成证书,运行正常 - 后端托管于AKS,通过Application Gateway对外暴露服务,AKS使用Traefik作为Ingress控制器
核心配置疑问与解答
1. Application Gateway HTTPS监听器配置
- 疑问:当前监听器主机名为
<appname>-dev.uksouth.cloudapp.azure.com,是否需修改为api.<appname>.dev.client.com?是否需在此监听器上配置存储于Key Vault的证书(用Terraform部署)? - 解答:
- 必须修改监听器主机名为
api.<appname>.dev.client.com,只有这样Application Gateway才能识别并路由针对该自定义域名的客户端请求。 - 是的,需要将存储在Key Vault中的对应非通配符证书关联到这个HTTPS监听器。Terraform部署时,可通过
azurerm_application_gateway_ssl_certificate资源引用Key Vault内的证书,确保监听器用正确证书加密客户端请求。
- 必须修改监听器主机名为
2. 公网IP DNS标签配置
- 疑问:公网IP当前DNS标签为
<appname>-dev.uksouth.cloudapp.azure.com,是否可保留该配置,仅将自定义域名的CNAME记录指向此DNS标签? - 解答:可以保留现有DNS标签配置。只需在客户的域名解析服务商处,将
api.<appname>.dev.client.com的CNAME记录指向这个Azure提供的DNS标签即可,无需修改Azure公网IP的DNS设置。
3. 应用网关后端池配置
- 疑问:当前后端池目标FQDN为
aks-ingress.<appname>-dev.uksouth.cloudapp.azure.com(与AKS Ingress控制器IP的专用DNS区域匹配),是否需修改此配置? - 解答:不需要修改。这个FQDN是AKS Traefik Ingress控制器的专用访问地址,Application Gateway通过它向后转发请求,和前端自定义域名无关。只要确保该FQDN能正常解析到Traefik的IP,后端池配置就无需调整。
4. HTTPS后端设置根证书配置
- 疑问:HTTPS后端设置需根证书,是否可将“后端服务器证书由知名CA颁发”设为“是”?还是需上传证书的根证书?或可使用自签名证书?
- 解答:
- 如果Traefik Ingress控制器使用的是知名CA颁发的证书(比如Azure自动生成的证书、客户合规购买的证书),直接将“后端服务器证书由知名CA颁发”设为“是”即可,Application Gateway会自动信任该证书的根CA,无需手动上传根证书。
- 如果Traefik使用的是自签名证书,则需要将该自签名证书的根证书上传到Application Gateway的后端设置中,确保网关能验证后端服务器的身份。
5. AKS Ingress Controller证书配置
- 疑问:应向AKS ingress controller传入哪种证书?是否为与自定义域名绑定的证书?该证书如何与域名进行验证?
- 解答:
- 需要传入与
api.<appname>.dev.client.com绑定的非通配符证书。Traefik作为Ingress控制器,需要用该证书处理Application Gateway转发的HTTPS请求(若网关与Traefik间用HTTPS通信),或直接向客户端提供加密服务(若网关转发HTTP到Traefik的HTTPS端口)。 - 证书验证要求:证书的Subject Alternative Name (SAN)必须包含
api.<appname>.dev.client.com,且证书由知名CA颁发(或在网关侧信任自签名证书的根CA)。在Traefik的Ingress资源配置中,通过tls.secretName引用AKS Secrets中存储的证书,即可完成域名与证书的关联,Traefik会自动用该证书处理对应域名的请求。
- 需要传入与
内容的提问来源于stack exchange,提问作者Fabio M.
相关产品推荐
相关产品推荐

