文档章节

3招解决Nginx实现404页面的实现!

l
 linjin200
发布于 08/13 15:42
字数 690
阅读 1
收藏 0

3招解决Nginx实现404页面的实现!

听语音

  • 原创
  • |
  • 浏览:1724
  • |
  • 更新:2017-09-21 13:21

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。而一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看,更多内容请参考《Linux就该这么学》。

工具/原料

  • ngxin

  • linux

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

  1. 1

    Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?

    看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。

  2. 2

    server {

     

    listen      80;

     

    server_name  www.test.com;

     

    root   /var/www/test;

     

    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;

     

    }

     

    }

    END

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

  1. 1

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

  2. 2

    upstream www {

     

    server 192.168.1.201:7777  weight=20 max_fails=2 fail_timeout=30s;

     

    ip_hash;

     

    }

     

    server {

     

    listen       80;

     

    server_name 域名;

     

    root   /var/www/test;

     

    index  index.html index.htm;

     

     

     

    location / {

     

    if ($request_uri ~* ‘^/$’) {

     

    rewrite .*   http://域名/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;

     

    }

     

    }

    END

第三种:Nginx解析php代码的错误页面

  1. 如果后端是php解析的,需要加一个变量

    在http段中加一个变量

    fastcgi_intercept_errors on 就可以了。

  2. 指定一个错误页面:

     

    error_page    404  /404.html;

     

    location = /404.html {

     

    root   /usr/share/nginx/html;

     

    }

  3. 3

    指定一个url地址:

     

    error_page 404  /404.html;

     

    error_page 404 = http://www.test.com/error.html;

    END

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

© 著作权归作者所有

l

linjin200

粉丝 26
博文 970
码字总数 1122703
作品 0
福州
程序员
私信 提问
如何在 Nginx 添加自定义 404 500 页面

如何在 Nginx 添加自定义 404 500 页面 Forece Blog2017-12-043 阅读 Nginx404 原来用惯了 Apache 里边的 .htacess 文件,感觉 rewrite 挺容易的,结果搬家后换了 Nginx 发现好多 Rewrite 不...

Forece Blog
2017/12/04
0
0
Nginx实现404页面的几种方法【转】

一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时...

bz_z
2018/06/07
261
0
Nginx+Tomcat部署Angular+javaweb项目的操作

导读 最近项目进入了即将验收阶段,项目部署是必不可少的。由于某些原因,我们把前端项目(Angular4)和后端项目(JavaWeb),由于要部署了四个项目:Angular4(微信端),微信端数据服务,JavaWeb...

问题终结者
2018/04/14
832
1
Nginx指定404错误页面方法

Nginx指定404页面的方法: 404页面分为三种(小编认为目前知道三种,有(ma)待(la)考(ge)察(bi)) 第一种:Nginx自己的错误页面 nginx访问一个静态的html 页面,当这个页面没有的时候...

xinsir999
2017/08/16
0
0
Nginx实现404页面的几种方法

一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时...

旧风景
2018/08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
25分钟前
2
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
28分钟前
2
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
46分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
今天
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
745
11

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部