You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AKS中Traefik Ingress如何与Azure Front Door私有链路集成?

实现Azure Front Door + AKS Traefik Ingress 私有链路方案

前提准备

  • AKS集群已启用私有网络(或Traefik所在节点池支持私有链路访问)
  • 已创建Azure Front Door Premium SKU实例(仅Premium支持私有链路后端)
  • Traefik Ingress Controller已部署在AKS,当前通过公网LB对外暴露

步骤1:将Traefik改为内部LB暴露

为避免公网暴露,把Traefik的服务改为内部LB:

  • 若用Helm部署,修改Traefik的values文件:
    service:
      type: LoadBalancer
      annotations:
        service.beta.kubernetes.io/azure-load-balancer-internal: "true"
        # 可选:指定内部LB所属子网
        service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "aks-subnet"
    
  • 执行Helm更新生效:
    helm upgrade traefik traefik/traefik -f your-values.yaml -n traefik
    
  • 获取内部LB的私有IP:
    kubectl get svc traefik -n traefik -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    

步骤2:创建Azure私有链路服务关联Traefik内部LB

将Traefik的内部LB端点通过私有链路暴露给AFD:

  • 在Azure门户或CLI创建Private Link Service:
    • 关联对象选择Traefik对应的内部LB
    • 目标子网选择AKS节点子网或LB所在子网
    • 创建完成后记录服务的别名(Alias)

步骤3:配置AFD私有后端池

  • 进入AFD实例的「后端池」,新建后端池:
    • 后端类型选「自定义主机」,主机名填Traefik内部LB的私有IP(或内部DNS域名)
    • 端口填Traefik的HTTP/HTTPS端口(默认80/443)
    • 勾选「启用私有链路」,选择刚创建的Private Link Service,等待连接状态变为「已批准」
    • 健康探测路径填/ping(Traefik默认健康检查端点)

步骤4:配置AFD路由规则

  • 新建路由规则,将你的业务域名(前端域名)映射到上述私有后端池
  • 协议匹配Traefik配置,若用HTTPS,需在AFD上传SSL证书(或使用Azure托管证书)

步骤5:调整Traefik代理信任配置(可选但建议)

让Traefik信任AFD的代理IP,正确转发真实客户端IP:

  • 修改Traefik的Helm values,添加以下配置:
    additionalArguments:
      - "--entrypoints.web.proxyProtocol.trustedIPs=AFD私有IP段"
      - "--entrypoints.websecure.proxyProtocol.trustedIPs=AFD私有IP段"
      - "--entrypoints.web.forwardedHeaders.trustedIPs=AFD私有IP段"
      - "--entrypoints.websecure.forwardedHeaders.trustedIPs=AFD私有IP段"
    
    AFD私有IP段可通过Azure官方文档或AFD实例属性获取

步骤6:调整域名解析

将原指向Traefik公网IP的DNS记录,改为指向AFD的前端域名(如xxxx.azurefd.net,或已配置的自定义域名)

验证方案

  • 访问业务域名,确认请求正常路由到后端服务
  • 查看Traefik日志,验证真实客户端IP被正确转发
  • 通过Azure监控确认AFD与Traefik间的流量通过私有链路传输(无公网流量)

注意事项

  • 仅AFD Premium SKU支持私有链路后端,Standard SKU不兼容
  • Traefik内部LB需与私有链路服务处于同一VNet或对等VNet中
  • 若Traefik启用HTTPS,需确保AFD后端协议与Traefik证书匹配,或由AFD终止SSL后以HTTP转发

内容的提问来源于stack exchange,提问作者user1817701

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:16:25