|NO.Z.00359|——————————|CloudNative|——|KuberNetes&运维.V75|——|IngressNginx.v11|自定义错误页面|
一、IngressNginx自定义错误页面
### --- error_page配置:IngressNginx自定义错误页面
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/server-snippet: error_page 404 https://www.baidu.com;
name: ingress-test
namespace: ratel-test1
spec:
rules:
- host: rewrite.test.com
http:
paths:
- backend:
serviceName: ingress-test
servicePort: 80
path: /something(/|$)(.*)
pathType: ImplementationSpecific
二、通过浏览器访问http://rewrite.test.com/会自动跳转到百度

三、访问something是有的

四、custom-http-errors :全局配置
### --- 修改configmap进行全局配置
apiVersion: v1
data:
custom-http-errors: 404,403
kind: ConfigMap
metadata:
annotations:
meta.helm.sh/release-name: ingress-nginx
meta.helm.sh/release-namespace: ingress-nginx
ratel.io/configMapLastVersion: "3"
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/version: 0.40.2
helm.sh/chart: ingress-nginx-3.6.0
name: ingress-nginx-controller
namespace: ingress-nginx
### --- 修改controller文件,把default-backend修改自己配置的参数
[root@k8s-master01 ~]# kubectl edit ds -n ingress-nginx
containers:
- args:
- /nginx-ingress-controller
- --default-backend-service=ratel-test1/ingress-test
### --- 重启容器
[root@k8s-master01 ~]# kubectl delete po -n ingress-nginx --all
pod "ingress-nginx-controller-89z64" deleted
pod "ingress-nginx-controller-rjfpw" deleted
pod "ingress-nginx-controller-rlcwb" deleted
五、访问测试:http://krm.test.com/404:重定向到V1上面了;跳转到后端service上面

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
浙公网安备 33010602011771号