现在有一个需求就是在发版的时候希望除公司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. .Net语言 APP开发平台——Smobiler学习日志:如何实现离线声音文件上传

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...

  2. struts2学习之旅三 权限管理和导航设计

    1,权限管理的db设计和dao实现,尽量简单快速有效: db的设计如下:权限按照角色来赋给用户: 权限对应每一个具体的功能,有菜单级别的,有导航级别的,还有页面级别的功能: 涉及到权限的敏感操作一般都 ...

  3. php中实现的一个curl批处理的实例

    curl是利用URL语法在命令行方式下工作的开源文件传输工具 本文在php中实现了的一个curl批处理的实例. 代码如下: header("Content-Type:text/html;ch ...

  4. 【视频处理】YUV与RGB格式转换

    YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式. 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式. RGB与YUV的变换公式如下: YUV(25 ...

  5. java web学习总结(二十六) -------------------JSP属性范围

    所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...

  6. 每天一个设计模式-4 单例模式(Singleton)

    每天一个设计模式-4 单例模式(Singleton) 1.实际生活的例子 有一天,你的自行车的某个螺丝钉松了,修车铺离你家比较远,而附近的五金店有卖扳手:因此,你决定去五金店买一个扳手,自己把螺丝钉固 ...

  7. 1.JAVA基础复习——计算机基础与环境变量配置

    软件开发的了解 软件开发: 软件:一系列按照特定组织的计算机数据和指令的集合. 开发:制作软件. 程序:一系列有序指令的集合. 人机交互 人机交互的方式有两种:图形化界面和命令行方式. 图形化界面:简 ...

  8. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  9. 关于Karaf Container 4.0.7

            Karaf是Apache旗下的一个开源项目.Karaf同时也是一个基于OSGi的运行环境,Karaf提供了一个轻量级的OSGi容器,可以用于部署各种组件,应用程序.Karaf提供了很多 ...

  10. 关于XHR对象中status范围的记录

    if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){ // 成功执行区域 // 2XX表示有效响应 ...