kubernetes - 使用 kubernetes 在 traefik2 中自定义错误页面
问题描述
我想为我的 traefik 设置自定义错误页面。我已经设置了 IpWhitelist ( https://docs.traefik.io/v2.0/middlewares/ipwhitelist/ ) 中间件,它工作正常。但如果失败,它会显示标准错误页面“禁止”。我想用自定义错误页面替换它。
我添加了另一个中间件错误(https://docs.traefik.io/v2.0/middlewares/errorpages/),它适用于 404 我可以看到自定义错误页面。但在 Ipwhitelist 失败的情况下,它仍然显示标准的“禁止”(403)页面,而不是自定义错误页面。我已经设置了 400-405 的范围
我认为任何一个中间件都在工作,或者我做错了什么。我还想全局配置 Errors 中间件,这样我就不必在我在环境中配置的每个 IngressRouts 上进行指定。
traefik 错误服务
apiVersion: v1
kind: Service
metadata:
name: traefikerror
namespace: namespacename
spec:
type: LoadBalancer
ports:
- name: http
targetPort: 80
port: 80
selector:
app: traefikerror
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: traefikerror
spec:
replicas: 1
selector:
matchLabels:
app: traefikerror
template:
metadata:
labels:
app: traefikerror
spec:
containers:
- name: traefikerror
image: imageId
ports:
- containerPort: 80
中间件
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: traefikerror
spec:
errors:
status:
- 400-405
query: /test.html
service:
name: traefikerror
port: 80
并在 IngressRoute 中设置此中间件。
解决方案
推荐阅读
- java - 如何在不同的片段中添加后按按钮?
- c++ - libevent 是否允许在不同的线程中运行定时器/io 的回调?
- ruby - 我们如何将 chef 中的 bash 资源输出输出到文件中?
- java - PostValue 工作,但 SetValue 不 MutableLiveData - AndroidX
- flutter - 颤振小部件轮播而不仅仅是图像轮播?
- java - Hibernate 检索多行并存储在对象数组中
- vega - 用于多字段数据的 Vega-lite Legend
- xcode - 如何在颤振中创建 ipa 文件以进行测试?
- node.js - Sinon 存根未正确恢复
- python - 使用 Shell 脚本在列表中提取不带扩展名的文件名