现在利用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. 30行代码搞定WCF并发性能测试

    [以下只是个人观点,欢迎交流] 30行代码搞定WCF并发性能 轻量级测试. 1. 调用并发测试接口 static void Main()         {               List< ...

  2. iOS 学习 - 19 结构体

    //创建新类型typedef struct { int age; ];//最大字节为 20 }Student; Student value2 = {,*strcpy(value2.name, &quo ...

  3. linux 学习随笔-压缩和解压缩

    .gz 由gzip压缩工具压缩的文件 .bz2 由bzip2压缩工具压缩的文件 .tar 由tar打包程序打包的文件 .tar.gz 先由tar打包,gzip压缩 .tar.bz2 先由tar打包,b ...

  4. Play Framework 完整实现一个APP(九)

    添加增删改查操作 1.开启CRUD Module 在/conf/application.conf 中添加 # Import the crud module module.crud=${play.pat ...

  5. 代替Reflection(反射)的一些方法

    Reflection(反射)是深入学习.Net必须掌握的技能之一.最初学Reflection的时候,的确是被惊住了,原来还可以这样.只要给你一个Assembly, 你就能获取到其中所有的类型,根据类型 ...

  6. Ajax中Get请求与Post请求的区别

    Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: &l ...

  7. DPA 9.1.85 升级到DPA 10.0.352流程

    SolarWinds DPA的升级其实是一件非常简单的事情,这里介绍一下从DPA 9.1.95升级到 DPA 10.0.352版本的流程.为什么要升级呢? DPA给用户发的邮件已经写的非常清楚了(如下 ...

  8. MongoDB学习笔记~ObjectId主键的设计

    回到目录 说一些关于ObjectId的事 MongoDB确实是最像关系型数据库的NoSQL,这在它主键设计上可以体现的出来,它并没有采用自动增长主键,因为在分布式服务器之间做数据同步很麻烦,而是采用了 ...

  9. dragsort html拖拽排序

    一.Jquery List DragSort 对于有些页面,如首页的定制,需要进行动态的拖拽排序.由于自己实现比较困难,我们一般会使用一些js插件来实现.dragsort 就是帮助我们完成这一需求.通 ...

  10. OAF通过Iterator标准遍历各行

    这两天本人接到客户反映的bug:oaf的采购订单页面,在添加超过10行提交后,会出现空指针异常.原来,oaf的默认显示行数为10行,超过10行,页面会分页.报空指针异常,就是因为没有取到分页的行.之前 ...