zoukankan      html  css  js  c++  java
  • nginx自定义错误页

    自定义错误页

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

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

    #指定网站极目呆下的页面 40x.html,处琦 403 错误 
    error_page 403	/40x .html; 
    
    #指定网站根目录下的图片 404.jpg,处理 404 错误 
    error_page 404	/404 .jpg; 
    
    • 下面为了查看设置效果,将上述配置放到 server 块中,平滑重启 Nginx (nginx -s reload )使配置生效。 接着,在浏览器中进行访问测试,当网站目录下没有指定默认索引文件时访问会发生 403 错误,如图所示;
      在这里插入图片描述
    • 当访问网站下不存在的目录 t 时,如图所示 。
      在这里插入图片描述

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

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

    • 还可以把错误的页面引向自己所需要页面,从而带来一些额外流量和权重。

    • nginx禁止ip访问, 只能通过域名访问:https://blog.csdn.net/qq_41684621/article/details/103871194

    3.更改晌应状态码

    • 在用户通过浏览器发送 HTTP 请求时,服务器处理完成后会返回响应信息响应信息中的状态码(Status)就是服务器在处理用户 HTTP 请求后的响应状态 。 例如,用户访问一 个不存在的页面,服务器返回的响应状态码就为 404。
    • 利用浏览器提供的 Fl2 开发者工具查看到当前请求页面的状态码,如图所示 。

    在这里插入图片描述

    • 若要隐藏服务器返回的真实状态码信息,则可以利用进行自定义设置,具体配置如下。
    error_page 404 =200 /40x.html; 
    
    • 按照上述设置修改配置文件,再次进行访问测试。在 发生 404 错误时,响应信息中的状态码是自定义的码值 200 ,成功隐藏了实际响应状态码。
    • 另外,更改响应状态码时还可以不指定确切的码值,而是由重定向后实际处理的真实结果来决定 。 例如,去掉上面配置的 200 后,配置如下
    error_page 404=/40x .html;
    
    • 按照上述设置修改配置文件,再次进行访问测试,如图所示 。从图中可以看出,当 前的状态码为 304 ,它表示自从上次请求后,请求的网页未修改过,若修改页面 40x. html 后,再次访问则会出现图所示的效果 。
      在这里插入图片描述

    4.设置错误页面案例

    • 如:www.xdr630.top ,在nginx.conf配置文件中设置
    error_page 404 /404.html;
    
    • 在网站根目录下添加一个 404.html 和 一张 404.png 图片
      在这里插入图片描述

    404.html代码如下:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<div align="center">
    			<img src="404.png">
    		</div>
    	</body>
    </html>
    

    404.png

    在这里插入图片描述

    • 当访问不存在的资源就会跳转到404页面,如:www.xdr630.top/e
      在这里插入图片描述

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254848.html

  • 相关阅读:
    lvs+keepalived+nginx
    linux配置静态ip
    nginx+keepalived
    nginx反向代理+负载均衡
    win10 安装虚拟机问题
    zlib-1.2.8用VS2010编译生成动态静态库
    mysql 创建库时指定编码
    mysql 升级遇到的问题 (本次由5.1.1X到5.6.28)
    android的SDK包下载
    node-webkit 使用笔记
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254848.html
Copyright © 2011-2022 走看看