error_page指令解释
nginx指令error_page的作用是当发生错误的时候能够显示一个预定义的uri,比如:
error_page 502 503 /50x.html;
这样实际上产生了一个内部跳转(internal redirect),当访问出现502、503的时候就能返回50x.html中的内容。
同时我们也可以自己定义这种情况下的返回状态吗,比如: error_page 502 503 =200 /50x.html;
这样用户访问产生502 、503的时候给用户的返回状态是200,内容是50x.html。
当error_page后面跟的不是一个静态的内容的话,比如是由proxyed server或者FastCGI/uwsgi/SCGI server处理的话,server返回的状态(200, 302, 401 或者 404)也能返回给用户。
error_page 404 = /404.php;
也可以设置一个named location,然后在里边做对应的处理。
500 502 503 504 @jump_to_error;
location @jump_to_error {
...
}
复制代码
同时也能够通过使客户端进行302、301等重定向的方式处理错误页面,默认状态码为302。
error_page 403http://example.com/forbidden.html;
error_page 404 =301 http://example.com/notfound.html;
复制代码
同时error_page在一次请求中只能响应一次,对应的nginx有另外一个配置可以控制这个选项:recursive_error_pages 默认为false,作用是控制error_page能否在一次请求中触发多次。
【运维|nginx关于 error_page指令详解】转载于:https://juejin.im/post/5c10b2a9e51d456f476787ca
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- 云原生微服务技术趋势解读
- 韵达基于云原生的业务中台建设 | 实战派
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 运维|如何限制IP 通过 SSH连接服务器
- 运维|Linux 禁止用户或 IP通过 SSH 登录