Nginx ingress 对域中的 txt 文件返回 404 错误
我的开发团队要求我拒绝访问 pod 内的所有 yml 和 txt 文件。但他们想要单个 txt 文件的例外,比如 helloworld.txt,
所以我所做的是,在入口资源中添加以下拒绝规则:
nginx.ingress.kubernetes.io/server-snippet: |
location ~* /helloworld.txt {
allow all;
}
location ~* ^.+\.(yml|yaml|txt)$ {
deny all;
return 403;
}
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: www.domain.com
http:
paths:
- backend:
serviceName: nginx-proxy
servicePort: 8080
path: /
但是 domain.com/helloworld.txt 返回 404 not成立。
如果没有上述两个位置块/规则,domain.com/helloworld.txt 加载得很好。
我缺少什么?
My development team has requested me to deny access to all yml and txt files inside the pod. But they wanted an exception for a single txt file, say helloworld.txt
so what I did is, added the following deny rules in the ingress resource:
nginx.ingress.kubernetes.io/server-snippet: |
location ~* /helloworld.txt {
allow all;
}
location ~* ^.+\.(yml|yaml|txt)$ {
deny all;
return 403;
}
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: www.domain.com
http:
paths:
- backend:
serviceName: nginx-proxy
servicePort: 8080
path: /
But domain.com/helloworld.txt returns a 404 not found.
Without the above two location blocks/rules, domain.com/helloworld.txt loads just fine.
What am I missing?.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论