nginx配置中的error_page一些用法

Publish: September 10, 2023 Category: 文档 No Comments

使用字段: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 / {
主要反代内容...
}

请为这篇文章评分:
( 这篇文章尚未评分 )

Tags: nginx, err

Related Posts:

评论已关闭