请减轻我的痛苦:我正在尝试阻止单个 IP 访问 EKS 上托管的站点之一。我已经尝试了 server-snippet 注释,但它没有用。我也尝试过创建一个网络策略来阻止,没有运气。知道如何设置受限 IP 列表吗?
这是网络策略:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: web-dev-network-policy
namespace: target_namespace
spec:
podSelector:
matchLabels:
app: php
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: source_ip_value/32
ports:
- protocol: TCP
port: 80
这是服务器片段:
nginx.ingress.kubernetes.io/server-snippet: |
location / {
deny source_ip;
}
编辑:在监视域的传入请求时,我可以看到 CoreDNS 重写请求(我想)以匹配托管站点的服务名称。我想这就是为什么location /
不匹配请求并且被允许的原因,例如:
source.ip.address - - [time/date] "HEAD / HTTP/2.0" 200 0 "-" "curl/7.58.0" 54 0.382 [service-name-service-name-80] [] private.ip:80 0 0.384 200 7a06748e7395fbsssceb737723399919