使用Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面
更新時(shí)間:2023年09月24日 10:41:36 作者:moon
這篇文章主要為大家介紹了使用Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
一. Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面
- 讓所有經(jīng)過 Nginx Ingress 暴露出去的域名,在請(qǐng)求到錯(cuò)誤頁(yè)面的時(shí)候(狀態(tài)碼為:4xx,5xx等)給用戶一個(gè)優(yōu)雅的頁(yè)面顯示,而不直接顯示4xx或5xx的報(bào)錯(cuò),避免給用戶不好的使用體驗(yàn)
1. 鏡像制作
- 將顯示的頁(yè)面全部放在 www 目錄中
[root@yunwei-k8s-addon1-test custom-error]# ll www/ -rw-r--r--. 1 yeemiao yeemiao 415 3月 13 2019 403.html -rw-r--r--. 1 yeemiao yeemiao 412 3月 13 2019 404.html -rw-r--r--. 1 root root 412 8月 16 13:40 500.html -rw-r--r--. 1 root root 412 8月 16 13:40 501.html -rw-r--r--. 1 yeemiao yeemiao 415 3月 13 2019 502.html -rw-r--r--. 1 yeemiao yeemiao 409 3月 13 2019 503.html -rw-r--r--. 1 root root 412 8月 16 13:40 504.html # 目錄結(jié)構(gòu) [root@yunwei-k8s-addon1-test custom-error]# ll -rw-r--r--. 1 root root 72 8月 16 13:37 Dockerfile drwxr-xr-x. 2 root root 118 8月 16 13:41 www
FROM registry.k8s.io/ingress-nginx/nginx-errors:v20230505 COPY www /www
2. nginx-error
- 放在和 Nginx-Ingress 控制器同樣的名稱空間中
apiVersion: v1
kind: Service
metadata:
name: nginx-errors
namespace: ingress-nginx
labels:
app.kubernetes.io/name: nginx-errors
app.kubernetes.io/part-of: ingress-nginx
spec:
selector:
app.kubernetes.io/name: nginx-errors
app.kubernetes.io/part-of: ingress-nginx
ports:
- port: 80
targetPort: 8080
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-errors
namespace: ingress-nginx
labels:
app.kubernetes.io/name: nginx-errors
app.kubernetes.io/part-of: ingress-nginx
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: nginx-errors
app.kubernetes.io/part-of: ingress-nginx
template:
metadata:
labels:
app.kubernetes.io/name: nginx-errors
app.kubernetes.io/part-of: ingress-nginx
spec:
containers:
- name: nginx-error-server
image: harbor.yeemiao.com:8443/library/custom-nginx-error:20230816
ports:
- containerPort: 8080配置
- 修改Nginx-Ingress 的啟動(dòng)參數(shù)
# 加入?yún)?shù),如果 nginx-error 和 Nginx-Ingress在同一名稱空間,直接加入?yún)?shù)即可,如果 nginx-error 服務(wù)不在 Nginx-Ingress 控制器同樣的 Namespace,請(qǐng)將 POD_NAMESPACE 改為他所在的名稱 - --default-backend-service=$(POD_NAMESPACE)/nginx-errors # 修改 Nginx-Ingress 控制器的configmap [root@k8s-alone-1 manifest]# kubectl -n ingress-nginx edit cm nginx-configuration apiVersion: v1 data: allow-snippet-annotations: "true" custom-http-errors: 403,404,413,500,501,502,503,504 # 增加這個(gè)配置
3. 驗(yàn)證
- 進(jìn)入 nginx-ingress的控制器查看nginx 配置文件
/etc/nginx/nginx.conf, 過濾 error_page 是否有相關(guān)配置
error_page 403 = @custom_upstream-default-backend_403;
error_page 404 = @custom_upstream-default-backend_404;
error_page 413 = @custom_upstream-default-backend_413;
error_page 500 = @custom_upstream-default-backend_500;
error_page 502 = @custom_upstream-default-backend_502;
error_page 503 = @custom_upstream-default-backend_503;
error_page 504 = @custom_upstream-default-backend_504;以上就是使用Nginx Ingress 優(yōu)雅顯示錯(cuò)誤頁(yè)面的詳細(xì)內(nèi)容,更多關(guān)于Nginx Ingress顯示錯(cuò)誤頁(yè)面的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
- Nginx設(shè)置404錯(cuò)誤頁(yè)面跳轉(zhuǎn)的幾種方法總結(jié)
- Nginx?error_page自定義錯(cuò)誤頁(yè)面設(shè)置過程
- NGINX服務(wù)器配置404錯(cuò)誤頁(yè)面轉(zhuǎn)向的方法
- nginx緩存及錯(cuò)誤頁(yè)面配置
- Nginx服務(wù)器中配置404錯(cuò)誤頁(yè)面時(shí)一些值得注意的地方
- NGINX下配置404錯(cuò)誤頁(yè)面的方法分享
- 為Nginx自定義404,502錯(cuò)誤頁(yè)面的方法
- nginx 自定義 404、50x 錯(cuò)誤頁(yè)面的實(shí)現(xiàn)
相關(guān)文章
通過Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域的方法(API代理轉(zhuǎn)發(fā))
這篇文章主要給大家介紹了關(guān)于如何通過Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域(API代理轉(zhuǎn)發(fā))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
分割nginx日志的實(shí)現(xiàn)(避免日志多大)
nginx默認(rèn)沒有提供對(duì)日志文件的分割功能,所以隨著時(shí)間的增長(zhǎng),access.log和error.log文件會(huì)越來越大,本文主要介紹了分割nginx日志的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
nginx url自動(dòng)加斜杠及301重定向的問題
這篇文章主要介紹了nginx url自動(dòng)加斜杠及301重定向的問題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09

