zoukankan      html  css  js  c++  java
  • nginx配置错误页面

    有时候页面会遇到404页面找不到错误,或者是500、502这种服务端错误,这时候我们可能希望自己定制返回页面,不希望看到默认的或者是内部的错误页面,可以通过nginx配置来实现。

    1 50x错误
    对于50x错误,通常不会直接将错误内容显示在页面,而是由前台页面来解析错误内容并展示在前台的某个位置。
    我们可以自己定义一个json返回对象,由页面来解析这个json对象。
    以500错误为例,在nginx服务器任意目录下(例如,/usr/share/nginx/html)创建一个500.json文件,内容如下:

    {
        "errorCode": 500,
        "errorDesc": "服务暂时不可用,请稍后再试"
    }

    nginx配置文件中,在server段中添加以下内容:

    error_page 500 /500.json ;
    location ^~ /500 {
    root /usr/share/nginx/html ;
    }

    重启nginx生效。这时如果后端服务返回500错误,则nginx会把自定义的json报文返回到前台

    2 404错误
    对于404错误,很多时候可能用户会输错url,这时候错误会直接展示在页面上。
    可以有两种处理方式,一种是同50x错误,自己定义一个404错误页面,这个页面就可以做的好看一点。
    另一种方式是重定向到某个已存在的uri。例如,后端已经定义好了404错误页面,nginx就不需要单独创建一个404页面了,直接指向这个页面就可以了。
    配置方法如下:
    在http段中添加以下配置:

    proxy_intercept_errors on;
    error_page 404 =301 https://$host:443/#/404 ;

    proxy_intercept_errors表示对后端服务器返回错误进行拦截处理;
    error_page 404 =301表示重定向到错误页面。

  • 相关阅读:
    EfCore基本用法
    C#笔试题目总结
    LINQ
    markdown 语法
    打造一款 刷Java 知识的小程序(二)
    为了考PMP,我做了一个刷题小程序
    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
    反制面试官 | 14张原理图 | 再也不怕被问 volatile!
    50+道大厂JVM面试题 + 11张思维导图就是让你懂JVM~
    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
  • 原文地址:https://www.cnblogs.com/lasdaybg/p/9883795.html
Copyright © 2011-2022 走看看