现在有一个需求就是在发版的时候希望除公司IP外的外网访问服务的时候都是拒绝访问的

现在利用haproxy 的acl规则作出限制

errorfile       403 /etc/haproxy/errfile/403.http
acl url_bao hdr(Host) -i bao.doyoulicai.com
acl kongzhong_src src 222.73.17.25 222.73.17.24
http-request deny if url_jr !kongzhong_src
use_backend bao.doyoulicai.com if url_bao
backend bao.doyoulicai.com
balance roundrobin
option httpchk GET /test HTTP/1.0
server 10.9.6.18:6011 10.9.6.18:6011 check inter 60000 rise 2 fall 5 weight 10

按照这样设置的话就可以实现当除222.73.17.25 222.73.17.24以外的其他IP地址访问bao.doyoulicai.com的时候都直接拒绝访问403页面

然后现在自定义一下403页面

[root@test_ha_nginx errfile]# cat 403.http
HTTP/1.0 403 Forbidden
Cache-Control: no-cache
Connection: close
Content-Type: text/html <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--<link rel="stylesheet" href="/static/css/new_error.css">-->
<style>
*{
margin:0;
padding:0;
}
body{
background-color: #f3f3f3;
}
.content{
width:380px;
height:400px;
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
.content .main{
z-index: 5;
position:relative;
}
.content .main .post{
position:absolute;
top:100px;
left:40px;
width:11px;
height:99px;
border:3px solid #959595;
border-radius: 5px;
border-bottom: none;
}
.content .main .post2{
left:112px;
}
.content .main .tops{
position:absolute;
top:108px;
left:16px;
width:134px;
height:25px;
border:3px solid #959595;
border-radius: 5px;
z-index: 3;
background-color: #FFFFFF;
}
.content .main .tops i{
display: block;
width:37px;
height:2px;
position:absolute;
top:11px;
left:4px;
background-color: #959595;
transform: rotate(-43deg);
}
.content .main .tops i.i1{
left:33px;
}
.content .main .tops i.i2{
left:62px;
}
.content .main .tops i.i3{
left:92px;
}
.content .main .foot{
position:absolute;
top:199px;
left:33px;
width:24px;
height:7px;
border:3px solid #959595;
border-radius: 5px;
background-color: #f3f3f3;
}
.content .main .foot2{
left:105px;
} /*STOP*/
.content .stops{
z-index: 5;
position:relative;
}
.content .stops .big{
position:absolute;
top:-30px;
left:163px;
width:112px;
height:112px;
border:3px solid #959595;
border-radius: 50%;
background-color:#fff;
}
.content .stops .big .min{
position:absolute;
top:8px;
left:8px;
width:90px;
height:90px;
border:3px solid #959595;
border-radius: 50%;
font:bold 24px/90px "微软雅黑";
text-align: center;
color:#666666;
background-color:#fff;
}
.content .stops .middle{
position:absolute;
top:87px;
left:210px;
width:15px;
height:111px;
border:3px solid #959595;
border-bottom: none;
border-top: none;
}
.content .stops .foots{
position:absolute;
top:198px;
left:205px;
width:24px;
height:7px;
border:3px solid #959595;
border-radius: 4px;
}
.content h2{
z-index: 3;
width:600px;
position:absolute;
top:230px;
left:-41px;
font:30px/80px "微软雅黑";
color:#666;
} /*帽子*/
.content .cap{
position:relative; }
.content .cap .left{
z-index: 3;
position:absolute;
top:181px;
left:126px;
width:61px;
height:3px;
background-color: #959595;
transform: rotate(-71deg);
}
.content .cap .right{
z-index: 3;
position:absolute;
top:181px;
left:145px;
width:61px;
height:3px;
background-color: #959595;
transform: rotate(71deg);
}
.content .cap .round{
z-index: 3;
position:absolute;
top:116px;
left:135px;
width:62px;
height:62px;
border:2px solid #959595;
border-radius: 50%;
border-top: none;
border-right:none;
border-left: none;
}
.content .cap .round2{
z-index: 3;
width:162px;
height:162px;
top:31px;
left:86px;
}
.content .cap .round3{
z-index: 2;
width:200px;
height:200px;
top:12px;
left:66px;
background-color:#f3f3f3;
}
.content .cap .just{
position:absolute;
top:-15px;
left:150px;
width:200px;
height:200px;
background-color: #f3f3f3;
z-index: 4;
transform: rotate(71deg);
}
.content .cap .just2{
top:-15px;
left:-17px;
transform: rotate(-71deg);
}
.content .cap .foots{
z-index: 1;
position:absolute;
top:199px;
left:144px;
width:37px;
height:37px;
border-radius: 5px;
/*transform: skew(30deg,30deg);*/
border:3px solid #959595;
transform: rotate(38deg) skew(-34deg,-13deg);
}
</style>
</head>
<body>
<div class="content">
<div class="main">
<!--立柱子两个-->
<div class="post"></div>
<div class="post post2"></div>
<!--横柱子-->
<div class="tops">
<i></i>
<i class="i1"></i>
<i class="i2"></i>
<i class="i3"></i>
</div>
<!--脚底-->
<div class="foot"></div>
<div class="foot foot2"></div>
</div>
<!--帽子-->
<div class="cap">
<!--<div class="skews"></div>-->
<!--左边横线-->
<div class="left"></div>
<!--右边横线-->
<div class="right"></div>
<!--三个圆-->
<div class="round"></div>
<div class="round round2"></div>
<div class="round round3"></div>
<!--两个正方形做遮盖-->
<div class="just"></div>
<div class="just just2"></div>
<!--帽子的底部-->
<div class="foots"></div>
</div>
<!--stop-->
<div class="stops">
<div class="big">
<div class="min">
STOP
</div>
</div>
<div class="middle"></div>
<div class="foots"></div>
</div> <!--文字-->
<h2>哎呀!服务器停机维护中...</h2>
</div>
</body>
</html>

haproxy利用ACL规则封禁自定义IP地址拒绝访问的更多相关文章

  1. 利用 ipset 封禁大量 IP

    使用 iptables 封 IP,是一种比较简单的应对网络攻击的方式,也算是比较常见.有时候可能会封禁成千上万个 IP,如果添加成千上万条规则,在一台注重性能的服务器或者本身性能就很差的设备上,这就是 ...

  2. httpd进程数统计,IP封禁,IP连接数量情况查看

    ps -ef|grep httpd|wc -l 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器. 查看Apache的并发请求数及其TCP连接状态:netstat -n | aw ...

  3. 教你怎样写自定义IP地址算法

    通过IP地址可以看到算法规律,写成自定义IP地址,也可以把IP地址转为自定格式的IP地址.也可以用于加密一些明文数字.起始次方可自定义(以1次方和0次方为例) a.以下写正反算法(以1次方为最小单位) ...

  4. Linux tomcat设置ip地址直接访问,tomcat设置ip地址直接访问,tomcat绑定ip地址

    Linux tomcat设置ip地址直接访问,tomcat设置ip地址直接访问,tomcat绑定ip地址 >>>>>>>>>>>> ...

  5. mysql数据库可以远程连接或者说用IP地址可以访问

    mysql数据库可以远程连接或者说用IP地址可以访问 一般情况不建议直接修改root的权限, 先看下,自己mysql数据库的用户级权限 mysql -u root -p----->用root登陆 ...

  6. java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器

    实例1:实现客户端IP地址和访问方式输出到浏览器. IpAction.java package com.amos.web.action; import javax.servlet.http.HttpS ...

  7. HAProxy(二):HAProxy的ACL规则实现智能负载均衡详解与示例

    一.HAProxy的ACL的功能 ACL(Access Control List)访问控制列表,HAProxy中的ACL的匹配条件和控制条件有许多种,功能很强大,可以通过源地址.源端口.目标地址.目标 ...

  8. haproxy 常用acl规则与会话保持

    一.常用的acl规则 haproxy的ACL用于实现基于请求报文的首部.响应报文的内容或其它的环境状态信息来做出转发决策,这大大增强了其配置弹性.其配置法则通常分为两 步,首先去定义ACL,即定义一个 ...

  9. CentOS7 下使用 Firewall防火墙系统封禁允许IP和端口的访问 端口转发 IP转发方法

    CENTOS7的防火墙系统默认已经从iptable改成了firewall,使用方法也有所不同,下面是详细介绍 一.管理端口 列出 dmz 级别的被允许的进入端口 # firewall-cmd --zo ...

随机推荐

  1. C# 读取app.config配置文件 节点键值,提示 "配置系统未能初始化" 错误的解决方案

    新建C#项目,在app.config中添加了appSettings项,运行时出现"配置系统未能初始化"的错误,MSDN里写到,如果配置文件中包含 configSections 元素 ...

  2. 移动端API接口优化的术和结果

    最近一直在忙工作的事情,所以文章写得有些少. 有3-5篇文章都是写到一半然后被别的事情给打断了,所以,我得找个时间好好补补. 最近一直在关注移动端接口API的可用性问题,在移动时代这个做这个优化能产生 ...

  3. BestCoder Round #89 B题---Fxx and game(单调队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  B ...

  4. HTML5的新语义化的标签

    在HTML5之前采用HTML+CSS文档结构写法 [ID选择器说明 id选择器——用于标识页面上特定元素(比如站点导航.页眉.页脚)而且必须唯一; 也可以用来标识持久结构性元素(如主导航.内容区域)] ...

  5. HTML5新特性之Mutation Observer

    Mutation Observer(变动观察器)是监视DOM变动的接口.当DOM对象树发生任何变动时,Mutation Observer会得到通知. 要概念上,它很接近事件.可以理解为,当DOM发生变 ...

  6. js类型转换

    1.js中有六种基本类型,分别是object.number.string.Boolean.null.undefined,其中number.string.Boolean为基本类型,有时使用会强制转换成对 ...

  7. iOS快速集成友盟社会化分享功能(v6.1.1)

    1.  U-Share SDK集成 1.1 下载U-Share SDK 通过iOS社会化组件选择所需的社交平台后进行下载,下载链接http://dev.umeng.com/social/ios/sdk ...

  8. Android 手机卫士--获取联系人信息并显示与回显

    前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点 ...

  9. iOS网络2——NSURLSession使用详解

    原文在此 一.整体介绍 NSURLSession在2013年随着iOS7的发布一起面世,苹果对它的定位是作为NSURLConnection的替代者,然后逐步将NSURLConnection退出历史舞台 ...

  10. Android自定义ViewGroup

    视图分类就两类,View和ViewGroup.ViewGroup是View的子类,ViewGroup可以包含所有的View(包括ViewGroup),View只能自我描绘,不能包含其他View. 然而 ...