现在利用haproxy实现自定义的haproxy的错误页面

我们现在实现自定义错误页面有以下的方法;

一种是自定义错误页面

haproxy.conf
defaults
errorfile 404 /etc/haproxy/errors/404.http
errorfile 503 /etc/haproxy/errors/503.http

还有一种方法就是错误页面的跳转:

当出现错误的时候,我们跳转到指定的链接地址

frontend web_server
   bind *:80
   default_backend webserver
   acl badguy src 10.0.10.1
   block if badguy
   errorloc 403 http://baidu.com/   这样出错的时候直接跳转到指定的URL地址。即百度页面

记录一下我这里的实现过程

应同事需求,让前端用js写了一个页面,然后放在503页面上

503.html文件内容是:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>503</title>
<style>
*{
margin:0;
padding:0;
}
.article{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
.content{
width:312px;
height:250px;
border:3px solid #959595;
border-radius: 8px;
/*margin:0 auto;*/ }
.content header{
width: 312px;
height:37px;
border-bottom: 2px solid #959595;
}
.content header i{
display: block;
width:15px;
height:15px;
border-radius: 50%;
background-color:#959595 ;
float:left;
margin:10px 9px;
}
.content header i.white{
width:10px;
height:10px;
border:3px solid #959595;
background-color: #fff;
}
.content header em{
float:right;
display: block;
width:16px;
height:16px;
border:3px solid #959595;
border-radius: 50%;
margin:7px 17px;
font-style: normal;
font:22px/13px "微软雅黑";
color:#959595;
}
.content .main h1 {
height:206px;
font:bold 100px/206px "微软雅黑";
color:#959595;
text-align: center;
}
h2{
font:30px/110px "微软雅黑";
color:#666666;
margin-left: -14px;
} </style>
</head>
<body>
<div class="article">
<div class="content">
<header>
<div class="left">
<i></i>
<i></i>
<i class="white"></i>
</div>
<div class="right">
<em>×</em>
</div>
</header>
<div class="main">
<h1>503</h1>
</div>
</div> </div>
</body>
</html>

但是我们要用在haproxy的话,我们需要在文件头添加如下几行内容(注意了,两个之间需要有一个空行,一定不能忘了):

HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
Content-Type: text/html

拼接后的文件内容为503.http(把503.html修改成503.http)

HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
Content-Type: text/html <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>503</title>
<style>
*{
margin:0;
padding:0;
}
.article{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
.content{
width:312px;
height:250px;
border:3px solid #959595;
border-radius: 8px;
/*margin:0 auto;*/ }
.content header{
width: 312px;
height:37px;
border-bottom: 2px solid #959595;
}
.content header i{
display: block;
width:15px;
height:15px;
border-radius: 50%;
background-color:#959595 ;
float:left;
margin:10px 9px;
}
.content header i.white{
width:10px;
height:10px;
border:3px solid #959595;
background-color: #fff;
}
.content header em{
float:right;
display: block;
width:16px;
height:16px;
border:3px solid #959595;
border-radius: 50%;
margin:7px 17px;
font-style: normal;
font:22px/13px "微软雅黑";
color:#959595;
}
.content .main h1 {
height:206px;
font:bold 100px/206px "微软雅黑";
color:#959595;
text-align: center;
}
h2{
font:30px/110px "微软雅黑";
color:#666666;
margin-left: -14px;
} </style>
</head>
<body>
<div class="article">
<div class="content">
<header>
<div class="left">
<i></i>
<i></i>
<i class="white"></i>
</div>
<div class="right">
<em>×</em>
</div>
</header>
<div class="main">
<h1>503</h1>
</div>
</div> </div>
</body>
</html>

最后修改一下haprox.cfg的配置文件

errorfile       503 /etc/haproxy/errfile/503.http

重启一下haproxy。完成

参考文件:

http://blief.blog.51cto.com/6170059/1752669

http://qiita.com/myaaaaa_chan/items/23de67f76a70030ccde9

haproxy实现自定义错误页面的内容的更多相关文章

  1. ASP.NET Core中显示自定义错误页面

    在 ASP.NET Core 中,默认情况下当发生500或404错误时,只返回http状态码,不返回任何内容,页面一片空白. 如果在 Startup.cs 的 Configure() 中加上 app. ...

  2. ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

    应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但 ...

  3. Spring Boot自定义错误页面,Whitelabel Error Page处理方式

    我已经是Spring Framework框架的忠实粉丝.对于企业软件开发者来说它提供了对常见问题的通用解决方案,包括那些你在未来开发中没有意识到的问题.但是,它构建的J2EE项目变得比较臃肿,需要被一 ...

  4. ASP.NET自定义错误页面

    ASP.NET自定义错误页面 ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件.Application_Error 事件以及应用程序配置文件 (Web.co ...

  5. ASP.NET网站中设置404自定义错误页面

    在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: &l ...

  6. .net自定义错误页面实现升级篇

    问题描述: 在上一篇博文 ".net自定义错误页面实现" 中已经介绍了在.net中如何实现自定义错误页面实现(有需要者可以去上一篇博文了解),单纯按照上一篇博文那样设置,能够实现所 ...

  7. (后端)Spring Boot自定义错误页面,Whitelabel Error Page处理方式(转)

    我已经是Spring Framework框架的忠实粉丝.对于企业软件开发者来说它提供了对常见问题的通用解决方案,包括那些你在未来开发中没有意识到的问题.但是,它构建的J2EE项目变得比较臃肿,需要被一 ...

  8. flask模板应用-自定义错误页面

    自定义错误页面 当程序返回错误响应时,会渲染一个默认的错误页面,我们可以注册错误处理函数来处理错误页面 错误处理函数和视图函数很相似,返回值将作为响应的主题,因此我们先要创建错误页面的模板文件.为了和 ...

  9. Springboot - 自定义错误页面

    Springboot 没找到页面或内部错误时,会访问默认错误页面.这节我们来自定义错误页面. 自定义错误页面 1.在resources 目录下面再建一个 resources 文件夹,里面建一个 err ...

随机推荐

  1. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q99-Q101)

    Question  99 You have designed a new SharePoint 2010 Web Part that was deployed to the testing envir ...

  2. JAVA简单工厂模式(从现实生活角度理解代码原理)

    简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品.也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式, ...

  3. Activity详解一 配置、启动和关闭activity

    先看效果图: Android为我们提供了四种应组件,分别为Activity.Service.Broadcast receivers和Content providers,这些组建也就是我们开发一个And ...

  4. iOS 整理笔记 获取手机信息(UIDevice、NSBundle、NSLocale)

    /*    iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发ap ...

  5. 初学HTML 常见的标签(二) 列表标签

    上次介绍了一些简单的文本标签设计, 这篇介绍列表类标签, 通过列表能写出很好看的, 多元化的网络页面. ul-li 列表标签 <ul> <li>列表1</li> & ...

  6. python编码问题

    SCII编码是1个字节,而Unicode编码(汉字)通常是2个字节.一个字节8位(bit) 如果统一成Unicode编码,英文字母就会占用2个字节,造成空间浪费.从而出现了utf8可变编码,utf8编 ...

  7. JVM-内存管理

    都说搞C的牛叉,那是因为C解决问题,全靠程序员自己,他们对自己的程序在内存中是什么样了如指掌.而Java呢不需要有太多操作系统的知识,不用时刻注意内存的问题,但这不代表我们就不用去了解它背后的原理.J ...

  8. MySQL server version for the right syntax to use near 'TYPE=MyISAM'

    最近将一个版本为4.0.18-Max的MySQL数据库迁移到5.6.20-enterprise-commercial-advanced上.好吧,这是我迄今为止,见到过的最古老版本的MySQL数据库,这 ...

  9. 第一次写博客Poj1044

    Date bugs Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3005   Accepted: 889 Descript ...

  10. javax.el.PropertyNotFoundException 出错

    之所以是把他记下来,是因为这个低级错误 害的我找了老半天. 后台传了对象到页面,在页面中循环遍历获得对象某个属性值 如下: <c:forEach items="${resultMap. ...