现在有一个需求就是在发版的时候希望除公司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. Ionic2系列——Ionic 2 Guide 官方文档中文版

    最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情确实比较费精力,不知道什么时 ...

  2. Razor基础语法一

    目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...

  3. redis成长之路——(四)

    加强redis连接的连接池 虽然StackExchange.Redis针对连接已经做了很多工作,不过在实际应用场景中还是不够的,比如多实例的vip就会导致只能连到其中一个实例上等:本实例中的连接池只能 ...

  4. StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...

  5. .net 预防用户复制页面地址直接进入

    用户将某一页面的地址直接复制到另一个浏览器窗口(或者将链接地址分享给其他人),假如页面需要参数的时候因为直接进入没有从其他页面跳转,参数不存在,可能得不到想要的结果 处理方法:让页面跳到首页重新进入: ...

  6. 2016年最新mac下vscode配置golang开发环境支持debug

    网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...

  7. Js 实现登录验证码

    Js代码: /** * 验证码 */function yzm(){ var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a','b','c ...

  8. 《连载 | 物联网框架ServerSuperIO教程》- 3.设备驱动介绍

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  9. Web Service随笔

    什么是Web Service? WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络 ...

  10. 如何在Node.js中合并两个复杂对象

    通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: ...