除kubernetes nginx中的限制外,nginx不起作用
我已经在kubernetes中配置了nginx入口控制器,我正在尝试从kubernetes实现基于方法的路由 下面是我的ingress.yaml文件:除kubernetes nginx中的限制外,nginx不起作用,nginx,kubernetes,nginx-ingress,Nginx,Kubernetes,Nginx Ingress,我已经在kubernetes中配置了nginx入口控制器,我正在尝试从kubernetes实现基于方法的路由 下面是我的ingress.yaml文件: kind: Ingress metadata: name: cafe-ingress-with-annotations annotations: kubernetes.io/ingress.class: "nginx" #nginx.ingress.kubernetes.io/use-regex: &q
kind: Ingress
metadata:
name: cafe-ingress-with-annotations
annotations:
kubernetes.io/ingress.class: "nginx"
#nginx.ingress.kubernetes.io/use-regex: "true"
#nginx.ingress.kubernetes.io/app-root: /
#nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/configuration-snippet: |
location /tea {
limit_except GET {
deny all;
}
}
spec:
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
backend:
serviceName: tea-svc
servicePort: 80
- path: /coffee
backend:
serviceName: coffee-svc
servicePort: 80
根据定义的注释,应该阻止除GET方法之外的所有其他方法,如POST/DELETE…等。但它并没有否认任何一种方法。请帮助我如何使用limit_实现基于方法的路由,nginx除外。
提前感谢。如您所知,配置片段注释用于向NGINX位置添加额外的配置
如果要在服务器
块中添加自定义位置,则需要使用服务器代码段
注释。正如你所看到的:
使用注释nginx.ingres.kubernetes.io/server snippet
可以在服务器配置中添加自定义配置
街区
以下入口
清单应起作用:
kind: Ingress
metadata:
name: cafe-ingress-with-annotations
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/server-snippet: |
location /tea {
limit_except GET {
deny all;
}
}
spec:
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
backend:
serviceName: tea-svc
servicePort: 80
- path: /coffee
backend:
serviceName: coffee-svc
servicePort: 80
@兔子会这么做吗?