error_page 详解

error_page 详解

server {
location @jump_to_error {
lua_code_cache on;
content_by_lua_file /project_home/lua/error.lua;
}
error_page 500 502 503 504 @jump_to_error;
}
server {
listen 80
server_name xxx.xx.cn;
access_log logs/xxx.xx.cn.access.log main;
error_log logs/xxx.xx.cn.error.log info;

lua_code_cache on;
lua_need_request_body on;

location ~ /errortest {
set $backend “10.10.120.19”;
proxy_pass http://$backend;
# 不加=时, 报错的响应码会被命名location继承,从而方便定位错误
error_page 404 500 502 503 504 @jump_to_error;
# 添加=时,响应码会强制被重置为200
#error_page 404 500 502 503 504 = @jump_to_error;
}
location @jump_to_error{
content_by_lua ’
local errcode = ngx.status;
ngx.status = 200;
ngx.say(errcode);’
;
#return 200 $status; #此处status继承至外层location, 不能被覆盖; 使用content_by_lua可以获取到。
}
}

猜你喜欢

转载自blog.csdn.net/zongyue_wang/article/details/81485949