Nginx实现404页面配置的2种方法

对于一个网站来说,因为某些原因导致网站不能预览问题出现,再正常不过了,但是带来的用户体验也是不友好的,这个时候 404 页面就显得尤为重要了。通常使用 Nginx 作为 Web 服务器时,有以下集中配置方式,一起来看看。

Nginx 实现 404 页面配置的 2 种方法

第一种:Nginx 自己的错误页面

  • Nginx 访问一个静态的 html 页面,当这个页面没有的时候,Nginx 抛出 404,那么如何返回给客户端 404 呢?
  • 看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。
    server {
        listen      80;
        server_name  www.example.com;
        root   /html;
        index  index.html index.htm;
        location / {

        }
    }

定义错误页面码,如果出现相应的错误页面码,转发到那里。

error_page  404 403 500 502 503 504  /404.html;

承接上面的 location。

location = /404.html {

放错误页面的目录路径。

root   /usr/share/nginx/html;

第二种:反向代理的错误页面

如果后台 Tomcat 处理报错抛出 404,想把这个状态叫 Nginx 反馈给客户端或者重定向到某个连接,配置如下:

    upstream www {
        server 192.168.1.201:7777  weight=20 max_fails=2 fail_timeout=30s;
        ip_hash;
    }
    server {
        listen       80;
        server_name www.你的域名.com;
        root   /html;
        index  index.html index.htm;
        location / {
        	if ($request_uri ~* ‘^/$') {
        		rewrite .*   http://www.你的域名.com/index.html redirect
    		}
    	}
    }

关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回 404,nginx 拦截错误定义错误页面:

    proxy_intercept_errors on;
    proxy_pass      http://www;
    proxy_set_header HOST   $host;
    proxy_set_header X-Real-IP      $remote_addr;
    proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
    error_page    404  /404.html;
    location = /404.html {
    	root   /usr/share/nginx/html;
    }

指定一个 url 地址:

    error_page 404  /404.html;
    error_page 404 = http://www.你的域名.com/404.html;

以上关于 Nginx 实现 404 页面的配置的两种方法全部内容,更多相关 Nginx 404 页面配置内容请搜索码云笔记以前的文章或继续浏览下面的相关文章。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系maynote@foxmail.com处理
码云笔记 » Nginx实现404页面配置的2种方法

发表回复