nginx配置中的error_page一些用法
Posted by he; tagged with nginx , err
使用字段:http, server, location, location中的if字段
以下代码返回状态是50x。
error_page 502 503 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
以下代码返回状态是200。
error_page 502 503 =200 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
也可以设置一个named location,然后在里边做对应的处理,这样可以做很多事了。
error_page 500 502 503 504 @jump_to_error;
location @jump_to_error {
proxy_pass http://backend;
}
比如一个named的示例,当文件是404不存在用伪静态处理(此次用的是error_page 404 = @zsygsls,所以返回的状态码是200而非404):
location /dir/
{
proxy_pass http://127.0.0.1;
proxy_set_header Host hostname;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
error_page 404 = @zsygsls;
}
location @zsygsls
{
rewrite "^/dir/([a-z0-9]+)/$" /dir.php?id=$1 last;
}
location / {
主要反代内容...
}