首页 > 其他分享 >六月学习之Haproxy ACL实践(基于路径调度)

六月学习之Haproxy ACL实践(基于路径调度)

时间:2023-07-18 22:32:32浏览次数:39  
标签:Haproxy www qingchen 调度 ACL static user 172.16 server

2、ACL场景实践

2.3、ACL案例-基于路径调度

#根据用户请求的URL。调度到不同的后端集群
用户通过/static调度到172.16.1.7:80
用户请求/user调度到172.16.1.8:80

2.3.1、配置后端节点

#web1: /static站点定义
cat /etc/nginx/conf.d/www.qingchen.com.conf
server {
    listen 80;
    server_name www.qingchen.com;
    root /www
    location / {
        index index.html
    }
}
mkdir /www/static
echo "static-->web1" > /www/static/index.html

#web2: /user站点定义
cat /etc/nginx/conf.d/www.qingchen.com.conf
server {
    listen 8080;
    server_name www.qingchen.com;
    root /www
    location / {
        index index.html
    }
}
mkdir /www/user
echo "user-->web1" > /www/user/index.html

2.3.2、配置Haproxy

frontend web
    bind *:80
    mode http
    
    # acl规则
    acl www_site hdr(host) -i www.qingchen.net
    
    # acl规则-请求/static www_cluster  /user --- blog_cluster
    acl req_static path_beg -i /static
    acl req_user path_beg -i /user
    
    # 调用
    use_backend www_cluster if www_site req_static
    use_backend blog_cluster if  www_site req_user
    default_backend www_cluster

backend www_cluster
    balance roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ www.qingchen.net
    server 172.16.1.7 172.16.1.7:80 check port 80 inter 3s rise 2 fall 3
    server 172.16.1.8 172.16.1.8:80 check port 80 inter 3s rise 2 fall 3

backend blog_cluster
    balance roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ www.qingchen.net
    server 172.16.1.7 172.16.1.7:8080 check port 8080 inter 3s rise 2 fall 3
    server 172.16.1.8 172.16.1.8:8080 check port 8080 inter 3s rise 2 fall 3

2.3.3、客户端测试

curl -HHost:www.qingchen.net http://10.0.0.5/static
curl -HHost:www.qingchen.net http://10.0.0.5/user

标签:Haproxy,www,qingchen,调度,ACL,static,user,172.16,server
From: https://blog.51cto.com/u_13236892/6769230

相关文章

  • ORACLE数据库启停、闪回和锁表查询以及创建DBLINK
    数据库启动和停止停止orcale/oracle7//停止1.ps-ef|grepsmon2.exportORACLE_SID=cbsdba(cbsdba是实例名)3.sqlplus/assysdba 4.shutdown immediate;启动1.ps-ef|grepsmon2.exportORACLE_SID=cbsdba3.sqlplus/assysdba 4.startup;5.alter pluggabledatabas......
  • Golang连接Oracle数据库
    Golang连接Oracle的库有很多,比较常见的如下:不过,oralce只提供了oci8的接口,必须通过它来调用,所以下面方案都逃不过相关设置。1、go-db-oracle地址:https://code.google.com/p/go-db-oracle/官方介绍:OracleDriverusingcgotocallOCIlibrariesfromOracleInstantClient11.......
  • crane-scheduler基于真实负载进行k8s调度
    介绍kubernetes的原生调度器只能通过资源请求来调度pod,这很容易造成一系列负载不均的问题:对于某些节点,实际负载与资源请求相差不大,这会导致很大概率出现稳定性问题。对于其他节点来说,实际负载远小于资源请求,这将导致资源的巨大浪费。为了解决这些问题,动态调度器根据实际的......
  • Oracle 主键冲突报错踩坑-- "ORA-00001: 违反唯一约束条件 "
    根本原因因为特殊字符存在导致的主键冲突报错细节分析前提oracle中存在一张table,table中存在字段CName(nvarchar),且该字段为唯一主键;具体现有一条数据需要入库,内容如下'中信建投惠享债券型证券投资基金​'(包含零宽空格符)直接根据这个字段值查询数据库值是不存在的sel......
  • python任务调度
    Python任务调度实现指南概述本文将介绍如何使用Python实现任务调度。任务调度是指按照预定的时间间隔或事件触发条件,自动执行一系列任务的过程。Python提供了多种方法来实现任务调度,包括使用schedule库、APScheduler库和cron表达式。整体流程下表展示了实现Python任务调度的整......
  • Linux系统ORACLE重启命令
    如下:一、在Linux下重启Oracle数据库及监听器:1.以oracle身份登录数据库,命令:su-oracle2.进入Sqlplus控制台,命令:sqlplus/nolog3.以系统管理员登录,命令:connect/assysdba4.启动数据库,命令:startup如果是关闭数据库,命令:shutdownimmediate5.退出sqlplus控制台,命令:exit......
  • Oracle最高可用性架构(MAA)|铂金级(PLATINUM)
    1、什么是MAAMAA即最高可用性架构(MaximumAvailabilityArchitecture )Oracle最高可用性架构(MAA)为Oracle数据库提供了架构、配置和生命周期最佳实践参考之前的文章:1、Oracle最高可用性架构(MAA)|青铜级(BRONZE)https://www.cnblogs.com/mingfan/p/16804556.html2、Oracle最......
  • 浅谈oracle,mysql数据备份
    oracle备份 方案1:Navicat工具迁移1.1开启Navicat,打开工具-数据同步   1.2选定原数据源与需要迁移到的数据源  1.3选择下一步,比对后开始进行数据同步   方案2:数据库服务器迁移2.1登录源数据库切换用户su-oracle切换到临时目录cd/u01/app/oracle......
  • Oracle Temp表空间切换
    1.查看临时表空间情况--查看数据库默认表空间SELECTPROPERTY_NAME,PROPERTY_VALUEFROMDATABASE_PROPERTIESWHEREPROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';--查看现有数据库临时表空间SELECTTABLESPACE_NAMEFROMDBA_TABLESPACESWHERECONTENTS='TEMPORARY......
  • Centos7安装oracle 11g
    前期准备关闭selinux#永久关闭,防止重启服务器后又开了。vim/etc/selinux/config#临时关闭setenforce0关闭防火墙(不建议,后期建议直接放开相关端口即可)systemctldisablefirewalld#开放1521端口iptables-AIN_public_allow-ptcp--dport1521-mconntrack--......