====== Tips ====== ===== マルチドメインの振り分け ===== frontend main *:80 acl is_adm hdr_dom(host) -i adm.mono.net acl is_app hdr_dom(host) -i app.mono.net use_backend virtual_adm if is_adm default_backend default_www backend virtual_adm balance roundrobin server adm01 192.168.24.222:80 check backend default_www balance roundrobin server web01 192.168.24.225:80 check server web02 192.168.24.226:80 check ===== 静的・動的振り分け ===== frontend main *:80 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js .html use_backend static if url_static default_backend app backend static balance roundrobin server ngx01 192.168.24.223:80 check server ngx02 192.168.24.224:80 check backend app balance roundrobin server web01 192.168.24.225:80 check server web02 192.168.24.226:80 check ===== クライアントIPアドレスによる振り分け ===== frontend main bind :80 acl is_passed src 123.123.123.123/32 use_backend virtual_adm if is_adm default_backend default_httpd ===== 条件のANDやOR ===== frontend main bind :80 acl is_passed src 123.123.123.123/32 acl is_adm hdr_dom(host) -i adm.mono.net acl is_app hdr_dom(host) -i app.mono.net use_backend virtual_adm if is_adm is_passed # AND条件 use_backend virtual_adm if is_app or is_adm # OR条件 use_backend virtual_adm if is_app or is_adm is_passed # ORとAND(is_app又は、is_adm且つis_passed) default_backend default_httpd ===== ファイル読み込み ===== http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#7 frontend main bind :80 acl is_passed src -f /etc/haproxy/ipaddr.lst use_backend virtual_adm if is_adm is_passed default_backend default_httpd /etc/haproxy/ipaddr.lst * 記号なしリスト#で始まる行はコメント * IPアドレスやユーザーエージェントなど、記述 # IP LIST 114.160.219.54/32 58.13.28.210/32