电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Nginx error_page自定義錯誤頁面設置過程

瀏覽:165日期:2023-03-13 15:37:50
目錄
  • Nginx error_page自定義錯誤頁面設置
  • Nginx error_page 使用
    • 1. error_page語法
    • 2. 實例
    • 3. Nginx 自定義404錯誤頁面配置中有無等號的區別
  • 總結

    Nginx error_page自定義錯誤頁面設置

    #fastcgi_intercept_errors on;
        #語法:fastcgi_intercept_errors on|off 
        #默認值:fastcgi_intercept_errors off 
        #使用字段:http, server, location 
        #這個指令指定是否傳遞4xx和5xx錯誤信息到客戶端,或者允許nginx使用error_page處理錯誤信息。
        #你必須明確的在error_page中指定處理方法使這個參數有效,正如Igor所說“如果沒有適當的處理方法,
        #nginx不會攔截一個錯誤,這個錯誤不會顯示自己的默認頁面,這里允許通過某些方法攔截錯誤。
    
    
        #proxy_intercept_errors 為on 表示 nginx按照原response
        #proxy_intercept_errors on|off 
        #proxy_intercept_errors off 
        #使用字段:http, server, location    #code輸出,后端是404,就是404.這個變量開啟后,我們才能自定義錯誤頁面。
    
    
        proxy_intercept_errors on;
    
        upstream dev1 {
    
    server 127.0.0.1:8080;  #HessianTest3
    
        }
    
        server {
    listen       80;
    server_name  kevin.com;
    
    
    
    location / {
        proxy_pass http://dev1;     #HessianTest3
    }
    
    #參考書本第40頁
    #error_page 404 =200 /404.html;
    #error_page 500 502 503 504  =200 /50x.html;
    
    #location = /404.html {
    #   root html;
    #   
    #}
    
    #location = /50x.html {
    #    root   html;
    #}
    
    #當頁面發生異常的時候可以指定跳轉到location中,也可以指定跳轉到指定的URL地址上面
    error_page 404 http://www.baidu.com/;
        }

    Nginx error_page 使用

    接觸到了error_page ,這里記錄一下

    1. error_page語法

    語法:

    error_page code [ code... ] [ = | =answer-code ] uri | @named_location

    默認值:

    no?

    使用字段:

    http, server, location, location 中的if字段 

    2. 實例

    nginx指令error_page的作用是當發生錯誤的時候能夠顯示一個預定義的uri,比如:

    error_page 502 503 /50x.html;
    location = /50x.html {
    ? ? root /usr/share/nginx/html;
    } ?

    這樣實際上產生了一個內部跳轉(internal redirect),當訪問出現502、503的時候就能返回50x.html中的內容,這里需要注意是否可以找到50x.html頁面,所以加了個location保證找到你自定義的50x頁面。

    同時我們也可以自己定義這種情況下的返回狀態嗎,比如:

    error_page 502 503 =200 /50x.html;
    location = /50x.html {
    ? ? root /usr/share/nginx/html;
    } ??

    這樣用戶訪問產生502 、503的時候給用戶的返回狀態是200,內容是50x.html。

    當error_page后面跟的不是一個靜態的內容的話,比如是由proxyed server或者FastCGI/uwsgi/SCGI server處理的話,server返回的狀態(200, 302, 401 或者 404)也能返回給用戶。

    error_page 404 = /404.php;
    location ~ \.php$ {
    ? ? fastcgi_pass 127.0.0.1:9000;
    ? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    ? ? include fastcgi_params;
    } ??

    也可以設置一個named location,然后在里邊做對應的處理。

    error_page 500 502 503 504 @jump_to_error;
    location @jump_to_error { ? ?
    ? ? proxy_pass http://backend;
    }

    同時也能夠通過使客戶端進行302、301等重定向的方式處理錯誤頁面,默認狀態碼為302。

    error_page 403 ? ? ?http://example.com/forbidden.html;
    error_page 404 =301 http://example.com/notfound.html;

    同時error_page在一次請求中只能響應一次,對應的nginx有另外一個配置可以控制這個選項:recursive_error_pages

    默認為false,作用是控制error_page能否在一次請求中觸發多次。

    3. Nginx 自定義404錯誤頁面配置中有無等號的區別

    • error_page 404 /404.html 可顯示自定義404頁面內容,正常返回404狀態碼。
    • error_page 404 = /404.html 可顯示自定義404頁面內容,但返回200狀態碼。
    • error_page 404 /404.php 如果是動態404錯誤頁面,包含 header 代碼(例如301跳轉),將無法正常執行。正常返回404代碼。
    • error_page 404 = /404.php 如果是動態404錯誤頁面,包含 header 代碼(例如301跳轉),加等號配置可以正常執行,返回php中定義的狀態碼。但如果php中定義返回404狀態碼,404狀態碼可以正常返回,但無法顯示自定義頁面內容(出現系統默認404頁面),這種情況可以考慮用410代碼替代( header("HTTP/1.1 410 Gone"); 正常返回410狀態碼,且可正常顯示自定義內容)。

    例子

    server ?{
    ? ? listen 80;
    ? ? server_name ?test.com;
    ? ? index ? ? ? index.html index.htm;
    ?
    ? ? location / {?
    ? ? ? ? proxy_pass http://online;
    ? ? ? ? error_page 404 = @fallback;
    ? ? ? ? proxy_intercept_errors on;
    ? ? }
    ? ? location @fallback {
    ? ? ? ? proxy_pass http://backend;
    ? ? }
    }
    ?
    upstream online {
    ? ? ? ? ?server 192.168.88.18:80;
    ? ? ? ? ?server 192.168.88.28:80;
    }
    ?
    upstream backend {
    ? ? ? ? ?server 192.168.88.38:80;
    }

    例子

    由于在nginx配置中,設置了limit_req的流量限制,導致許多請求返回503錯誤代碼,在限流的條件下,為提高用戶體驗,希望返回正常Code 200,且返回操作頻繁的信息:

    location ?/test {
    ? ...?
    ? limit_req zone=zone_ip_rm burst=1 nodelay;?
    ? error_page 503 =200 /dealwith_503?callback=$arg_callback;
    }
    location /dealwith_503{?
    ? set $ret_body "{"code": "V00006","msg": "操作太頻繁了,請坐下來喝杯茶。"}";
    ? ?if ( $arg_callback != "" )?
    ? ?{?
    ? ? ? ?return 200 "try{$arg_callback($ret_body)}catch(e){}";?
    ? ?}?
    ? ?return 200 $ret_body;?
    }

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: Nginx
    主站蜘蛛池模板: 在线悬浮物浓度计-多参数水质在线检测仪-上海沃懋仪表科技有限公司 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 磷酸肌酸二钠盐,肌酐磷酰氯-沾化欣瑞康生物科技 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 2025第九届世界无人机大会 | 玄米影院| 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 北京燃气公司 用户服务中心| 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 土壤水分自动监测站-SM150便携式土壤水分仪-铭奥仪器 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 岩棉板|岩棉复合板|聚氨酯夹芯板|岩棉夹芯板|彩钢夹芯板-江苏恒海钢结构 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 |