![](/img/trans.png)
[英]How can I annotate two different Cloud Armor BackendConfigs to of a service
[英]How can i use cloud armor on nginx ingress controller?
首先,我使用 Nginx 入口 controller 和 gke 的 helm,我使用 ModSecurity 作为 waf。 尽管如此,我正在研究一种新的 waf 来显示预防结果,而云甲看起来就像我正在寻找的东西。 不幸的是,它仅适用于 HTTP/HTTPS 负载均衡器,但我的 Nginx 入口外部负载均衡器是 TCP 负载均衡器。 据我研究,我无法将此负载均衡器的协议 TCP 转换为 HTTP/HTTPS。
- First Question, Is this conversation possible and if it is possible, Can I use cloud armor on it.
其次,我尝试创建一个新的云负载均衡器来通过它路由流量。 不幸的是,即使我可以在它上面激活云装甲,路由也没有像我预期的那样工作,因为它无论如何都返回了 502,即使它的健康检查看起来还不错。
最后,我尝试将 BackendConfig 与 yaml 一起使用:
apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
name: armor-backendconfig
spec:
securityPolicy:
name: "bla-armor"
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/backend-config: '{"ports": {"443":"bla-backendconfig"}}'
spec:
clusterIP: xx.xx.xx.xx
externalTrafficPolicy: Local
healthCheckNodePort: xxxxxxx
loadBalancerIP: xx.xx.xxxx.xx
ports:
- name: http
nodePort: 31000
port: 80
protocol: TCP
targetPort: http
而且它不再起作用。 那是我最后的希望。 这里有什么建议吗?
我遇到了和你一样的问题,我们有一个入口 nginx 入口 controller 我们想用云装甲保护我们的入口,这实际上是不可能的。 解决方案是创建一个谷歌云 http 负载均衡器和 create.network 端点组 (Negs) 作为我们 Lb 的后端。
要创建我们的 Negs,可以通过在 kube.netes 服务中添加注释来完成,如下所示:
cloud.google.com/neg: '{"exposed_ports": {"PORT_NUMBER":{"name": "NEG_NAME"}}}'
您必须检查 tcp 协议和源 ip 范围允许 PORT_NUMBER 的防火墙规则:LB 的 130.211.0.0/22 35.191.0.0/16。 您可以查看 google cloud lb 的文档,仅此而已。 希望能有所帮助
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.