首先,我使用的是带有gke舵的Nginx入口控制器,我使用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入口控制器的入口,我们想用云装甲来保护我们的入口,这实际上是不可能的。解决方案是创建一个谷歌云http负载均衡器,并创建网络端点组(Negs(作为我们Lb.的后端
要创建Negs,需要在kubernetes服务中添加一个注释,如下所示:
cloud.google.com/neg: '{"exposed_ports": {"PORT_NUMBER":{"name": "NEG_NAME"}}}'
您必须在firewell规则中检查是否允许PORT_NUMBER用于tcp协议和源ip范围:130.211.0.0/2235.191.0.0/16对于LB。你可以查看谷歌云LB的文档,就这样。希望这能帮助
干杯