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

GKE外部透传LB部署Nginx Controller能否通过BackendConfig绑定Cloud Armor?

问题解答

首先明确结论:给External Passthrough LoadBalancer类型的Nginx Controller Service添加cloud.google.com/backend-config注解,无法绑定Cloud Armor安全策略,你遇到的后端服务不生效的情况是预期的。

原因说明

GCP的BackendConfig中绑定Cloud Armor的特性,仅适用于GCP原生HTTP(S) LoadBalancer(也就是通过Kubernetes Ingress资源创建的七层负载均衡)。而你用的External Passthrough LoadBalancer是四层TCP/UDP负载均衡,它对应的后端服务类型和HTTP LB的后端服务完全不同,BackendConfig的Cloud Armor配置不会被GKE控制器识别和应用。

可行解决方案

如果要给Nginx Controller加上Cloud Armor的防护,有两种靠谱的方式:

  • 方案一:切换到GCP原生HTTP LB + Nginx Controller
    把Nginx Controller的Service改成ClusterIP类型,然后创建一个GCP原生的Kubernetes Ingress资源,将流量转发到Nginx的ClusterIP服务。之后给这个Ingress关联的BackendConfig配置Cloud Armor策略,这种方式下Nginx依然负责内部路由规则,外部由GCP HTTP LB提供Cloud Armor防护。
  • 方案二:前置TCP Proxy LoadBalancer并绑定Cloud Armor
    保留现有的Nginx Passthrough LB,额外创建一个GCP的TCP Proxy LoadBalancer,将流量转发到Nginx Passthrough LB的外部IP。然后给这个TCP Proxy LB绑定Cloud Armor安全策略(Cloud Armor现在支持TCP Proxy LB的防护),实现流量先经过Cloud Armor过滤再到达Nginx。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:42:18