现在利用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项目实践中如何实现非打破继承看上去很美的权限控制

    首先对于比较机密的数据,打破继承还是必须要的. 但是对于一些普通申请单据,虽然客户也希望用户不要看到其他人的申请单据,但是我还是不推荐打破继承,应为打破继承一方面会造成网站的权限管理特别的凌乱,另一方 ...

  2. SQLiteOpenHelper类

    SQLiteOpenHelper是管理数据库的工具类. 下面提供一个模板: package com.example.intelligencecontrol.utils; import android. ...

  3. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  4. Android 四大组件之再论service

    service常见的有2种方式,本地service以及remote service. 这2种的生命周期,同activity的通信方式等,都不相同. 关于这2种service如何使用,这里不做介绍,只是 ...

  5. [C#6] 2-nameof 运算符

    0. 目录 C#6 新增特性目录 1. 老版本的代码 using System; namespace csharp6 { internal class Program { private static ...

  6. YourSQLDba开源项目发布到codeplex网站了

    今天登录YourSQLDba的官方网站http://yoursqldba.grics.ca/index_en.shtml,发现YourSQLDba项目已经发布到开源网站http://www.codep ...

  7. android 拔打电话功能

    private void phoneCall(String num) { String phoneNum = "tel:" + num; Uri smsToUri = Uri.pa ...

  8. java并发编程资料

    并发这玩意很有用,把自己在网上看过觉得总结的很好的资料分享出来.猛击下面的地址查看吧 java并发编程:线程池的使用说明 java并发编程系列文章 Java并发性和多线程专题 并发工具类 Java 7 ...

  9. jsp2.0+中的标签文件,JSP Fragment技术

    刚进新公司不久,今天在看到项目中用到了.tag文件.刚开始我还以为这个是第三方类似freemarker的模板技术.问了下项目组的其他人员,原来这是jsp2.0以来就有的JSP Fragment技术.以 ...

  10. STM32电机控制器小心得

    首先声明的是本人刚刚大学毕业进入电机控制这个行业,以前在学校也做过类似51的实验,然而在工作中发现那些东西是皮毛的不能再皮毛,我现在在公司也算是一个实习生,主要工作是改各厂家对控制器的功能需求,(其实 ...