Nginx学习笔记(二)

自定义错误页

在网站访问过程中,经常会遇见各种各样的错误,如找不到访问的页面则会提示404
Not Found 错误,没有访问权限会提示403 Forbidden 等,对于普通人而言,这样的提示界面
并不友好。在Nginx 的主配置文件中,给出了以下的处理方式。
errr_page 500 502 503 504 /50x.html ;
在上述配置中, error_page 指令用于自定义错误页面, 500 、502 、503 和504 指的就是
HTTP 错误代码, / 50x . html 用于表示当发生上述指定的任意一个错误时,都使用网站根目
录下的50x. html 文件处理。
除此之外, error_page 指令还可以指定单个错误的处理页面、利用在线资源处理指定的
错误,更改网站响应的状态码等多种设置,下面逐一演示自定义错误页面的几种常用使用

方式。

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

#指定网站极目呆下的页商40x.html ,处琦403 错误
errr_page 403 /40x .html ;
#指定网站根目录下的网片404 . jpg,处理404 错误
error_page 404 /404 . jpg;
将上述配置放到server 块中,平滑重启Nginx 使配置生效。
接着,在浏览器中进行访问测试,当网站目录下没有指定默认索引文件时访问会发生40 3 错
误。

需要注意的是,若使用I E 浏览器运行上述示例,则自定义错误页面的大小必须大于512 字节,否则错误页面的展示将使用IE 默认的错误页面

2 利用在线资源进行处理错误

处理错误的页面除了可以使用本站的资源外,还可以在发生指定错误时跳转到指定的
URL ,利用在线资源进行处理。配置示例如下。
#处理单个指定错误
errr_page 403 http://example . com/forbidden .html;
#处理一系列指定错淤
error『page 500 502 503 504 http://example .com/notfound.html;
按照上述设置修改配置文件后,发生403 错误就跳转到http : // example. com/

forbidden. html 页面

3 . 更改晌应状态码

在用户通过浏览器发送HTTP 请求时,服务器处理完成后会返回响应信息,响应信息
中的状态码( Status )就是服务器在处理用户HTTP 请求后的响应状态。例如,用户访问一
个不存在的页面,服务器返回的响应状态码就为404 0
利用浏览器提供的Fl2 开发者工具查看到当前请求页面的状态码,当前请求地址· http: // 192. 168. 78. 3 / t 返回的状态码是404 。 若要隐藏服务器返回的真实状态码信息,则可以利用=进行自定义设置,具体配置如下。
errr_page 404 =200 /40x . html ;
按照上述设置修改配置文件,再次进行访问测试,在

发生404 错误时,响应信息中的状态码是自定义的码值200 ,成功隐藏了实际响应状态码。

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

果来决定。例如,去掉上面配置的200 后,配置如下。
errr_page 404 =/ 40x .html ;
按照上述设置修改配置文件,再次进行访问测试,如图4 9 所示。从图中可以看出,当
前的状态码为304 ,它表示自从上次请求后,请求的网页未修改过。

猜你喜欢

转载自blog.csdn.net/busidihuang/article/details/80562662
今日推荐