参考:
如果你想在 Kubernetes 中通过 Ingress 拦截特定路径并返回 403 禁止访问状态码,可以使用 Nginx Ingress 控制器的自定义配置功能。在这种情况下,可以使用 nginx.ingress.kubernetes.io/server-snippet 注解来实现路径拦截。
nginx.ingress.kubernetes.io/server-snippet: |
location ~* /v1/nigbasefrontend/favicon.ico$ {
return 403;
}
以下是一个示例:
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: front-8kco5k
namespace: front
labels:
app.kubernetes.io/instance: front-8kco5k
app.kubernetes.io/managed-by: Helm
helm.sh/chart: nigbase-1.5.1
annotations:
kubesphere.io/creator: smgrid
meta.helm.sh/release-name: nigbase-8kco5k
nginx.ingress.kubernetes.io/server-snippet: |
location ~* /v1/nigbasefrontend/favicon.ico$ {
return 403;
}
spec:
rules:
- host: xxx.com
http:
paths:
- path: /v1/front/
pathType: ImplementationSpecific
backend:
service:
name: front-service-v1
port:
number: 80
- path: /v1/front(/|$)(.*)
pathType: ImplementationSpecific
backend:
service:
name: front-service-v1
port:
number: 80