nginx系列(十九)nginx处理404

[size=xx-large]前言[/size]
在用nginx代理服务器的时候,会有2种情况返回404.
1.查找静态文件没有找到。
2.反向代理,后端app服务器返回的404.

[size=xx-large]静态文件查找不到到[/size]
在对应的http | server | location里配置错误页面即可,代码如下:
error_page 404 http://pai.suning.com/shanpai/index.htm;

[size=xx-large]反向代理返回的404错误[/size]
当使用最左匹配的时候,请求传到了app服务器,但是没有找到资源,例如:
location ^~ /pai {
proxy_pass http://myserver/shanpai;
}

当随意访问以个代理的地址: /pai/1/2/3/4/5/6/resource.html
这个时候在location里配置 proxy_intercept_errors on;即可,这样,就会把错误交给error_page属性处理了。
location ^~ /pai {
# 代理处理错误,默认是关闭,否则直接返回app的错误页面
proxy_intercept_errors on;
proxy_pass http://myserver/shanpai;
}

[size=xx-large]高级架构[/size]
当然,反向代理返回404统一返回错误页面是一种方式,但是有更好的办法。就是减小代理范围,使用精确匹配的方式。
location用"="号来处理,这样可以提高app服务器的性能。不过增加的代理配置工作量。所以两种方式各有利弊。

[size=xx-large]参考文章[/size]
http://www.51ou.com/browse/linuxjg/33046.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值