nginx(三十一)proxy_intercept_errors指令应用

一   总汇

①   需求背景引出

②   官方介绍

proxy_intercept_errors  on|off;

作用:

  1)当上游响应的响应码'大于等于'300[常见"404"、"500"等]时;

  2) 应将响应'直接返回'客户端、还是nginx捕获后"自定义"错误页面'按error_page指令'处理

思考:如果开启'on',但是没有配置'error_page'呢?会出现什么现象?

Nginx 中的 X-Accel-Redirect 响应头 

③  案例讲解

1)实验环境

1. nginx作为'代理'服务器 -->172.25.2.100

2. 上游服务器也是'nginx'["为了简单"] -->172.25.2.157

备注:也可以为'python、tomcat、php、perl'等应用程序均可

补充:更简单的是一个主机上'启'两个nginx,'端口'不一样

2)代理服务器配置

3)上游[后端服务器]配置

4)测试1 

1. 上面的是'nginx代理'的日志

2. 下面的是'上游服务器'的日志

5)测试2

6)测试3

 (1)后端服务器直接断开,nginx代理侧的日志

说明1:

  1) 显然请求没有到达'后端服务',但是'nginx'还是记录'upstream_status为502'

  2) 所以这个值'不能'表明建立了'tcp'连接

说明2:status和'upstream_status'不一定总是'一致的'

(2)思考

++++++++++ "思考一个问题"  ++++++++++

1) 如果'代理侧'开启拦截共功能'on',但是'error_page'没有配置'补获'对应的'错误码';

2) 那客户端得到的'报错信息'是谁提供的? --> '后端的'

1. 上面是nginx'代理'配置 -->没有配置'502',配置了'500、503、504'、同时'开启拦截'

2. 下面是'后端服务器'配置

++++++++++++"测试"++++++++++++

  

 (3)对比实验

  

1. 上面是'nginx'代理侧的日志

2. 下面是'后端服务器'的日志

 参考链接

 nginx模拟死循环

 nginx的internal指令

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值