IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 使用haproxy的ACL实现基于文件后缀名的动静分离 -> 正文阅读

[PHP知识库]使用haproxy的ACL实现基于文件后缀名的动静分离

使用haproxy的ACL实现基于文件后缀名的动静分离

1 ACL

访问控制列表(ACL,Access Control Lists)是一种基于包过滤的访问控制技术,它可以根据设定的条件对经过服务器传输的数据包进行过滤(条件匹配),即对接收到的报文进行匹配和过滤,基于请求报文头部中的源地址、源端口、目标地址、目标端口、请求方法、URL、文件后缀等信息内容进行匹配并执行进一步操作,比如允许其通过或丢弃。

1.1 ACL配置选项

acl 	<aclname>	 <criterion>	 [flags]	 [operator]		 [<value>]
acl 	   名称 		 匹配规范		 匹配模式	   具体操作符	   操作对象类型

ACL-Name
#ACL名称,可以使用大字母A-Z、小写字母a-z、数字0-9、冒号:、点.、中横线和下划线,并且严格区分大
小写,比如:my_acl和My_Acl就是两个完全不同的acl

ACL-criterion
定义ACL匹配规范,即:判断条件
path_end : suffix match #请求的URL中资源的结尾,如 .gif .png .css .js .jpg .jpeg

ACL-flags
-i 不区分大小写

1.2 ACL基于文件后缀名实现动静分离

[root@haproxy ~]#vim /etc/haproxy/conf.d/test.cfg
frontend ha1_web_80
    bind 10.0.0.7:80
    balance roundrobin

###################### acl setting ###############################
    acl acl_static path_end -i  .jpg .jpeg .png .gif .css .js .html
    acl acl_php path_end -i     .php
###################### acl hosts #################################
    use_backend static_hosts          if acl_static
    use_backend php_hosts             if acl_php
###################### backend hosts #############################

backend static_hosts
    server rs2 10.0.0.27:80 check inter 3000 fall 2 rise 5

backend php_hosts
    server rs1 10.0.0.17:80 check inter 3000 fall 2 rise 5

[root@haproxy ~]#systemctl reload haproxy.service

#分别在后端两台主机准备相关文件
[root@rs1 html]#pwd
/var/www/html
[root@rs1 html]#echo 10.0.0.17 > test.php

[root@rs2 html]#pwd
/var/www/html
[root@rs2 html]#echo 10.0.0.27 > index.html

#测试
[root@client ~]#curl 10.0.0.7/index.html
10.0.0.27
[root@client ~]#curl 10.0.0.7/test.php
10.0.0.17

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:16:01  更:2022-04-22 18:16:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 14:08:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码