配置文件的结构
main
events{...}
http{
	server{
		location{...}
	}
}

从上面的结构可以看出,Nginx的默认主配置文件主要由main、events、http、server和location5个块组成,关于各个块的作用,详见表4-1所示。并且对于嵌套块(如http、server、location)中的指令,执行的顺序为从外到内依次执行,内层块中的大部分指令会自动获取外层块指令的值作为默认值,只有某些特殊指令除外。

修改nginx错误页面 nginx 默认错误页面_状态码

Nginx默认配置文件除去注释如下:

修改nginx错误页面 nginx 默认错误页面_html_02


修改nginx错误页面 nginx 默认错误页面_Nginx_03

自定义错误页

修改nginx错误页面 nginx 默认错误页面_html_04


在上述配置中,error_page指令用于自定义错误页面,500、502、503和504指的就是HTTP错误代码,/50x.html用于表示当发生上述指定的任意一个错误时,都使用网站根目录下的50x.html文件处理。

除此之外,errorpage指令还可以指定单个错误的处理页面、利用在线资源处理指定的错误,更改网站响应的状态码等多种设置,下面逐一.演示自定义错误页面的几种常用使用方式。

1. 为每种类型的错误设置单独的处理方式:

#指定网站目录下的页面error.html,处理404错误
error_page 404 /error.html;
#指定网站根目录下的图片 403.jpg,处理403错误
error_page 403 /403.jpg;

默认404页面:

修改nginx错误页面 nginx 默认错误页面_状态码_05


自定义404页面:

修改nginx错误页面 nginx 默认错误页面_html_06

2. 利用在线资源进行处理错误:
处理错误的页面除了可以使用本站的资源外,还可以在发生指定错误时跳转到指定的URL,利用在线资源进行处理。配置示例如下。

#处理单个指定错误
error_page 403 http://www.baidu.com;
#处理一系列指定错误
error_page 400 502 503 504 http://example.com/notfound.html;

按照上述配置后,如果发生404错误,就会跳转到百度首页。

3. 更改响应状态码:
在用户通过浏览器发送HTTP请求时,服务器处理完成后会返回响应信息,响应信息中的状态码(Status)就是服务器在处理用户HTTP请求后的响应状态。例如,用户访问一.个不存在的页面,服务器返回的响应状态码就为404。

要隐藏服务器返回的真实状态码信息,则可以利用=进行自定义设置,具体配置如下:

error_page 404 =200 /error.html;

再次访问,如下图,发生404错误,但是响应码为200,成功吟唱了实际响应码。

修改nginx错误页面 nginx 默认错误页面_Nginx_07


另外,更改响应状态码还可以不指定确切的吗值,而是由重定向后实际处理的真实结果来决定。

error_page = /error.html;