現在、仮想IPを使用して2つのサーバ間をルーティングするようにHAProxyを設定しようとしています。HAproxyが仮想IPからルーティングしない
テストのために、172.16.4.130と172.16.4.131の2つのインスタンスを作成しました。私は172.16.4.99の仮想IPアドレスを作成し、2台のサーバーをブリッジするキープアライブを使用しています。これらのサーバーはどちらもapache2を実行しています。apache2はテスト用の簡単なindex.htmlランディングページをホストしています。上記のすべてが実行されています。
私が172.16.4.99に行くと、ページが読み込まれず、index.htmlページのいずれにもリダイレクトされません。しかし、私はこのIPアドレスをpingすることができます。私はこれが簡単な構成上の問題だと思っています.Haproxyについてよく経験していないので、私はいくつかの支援をしたいと思います。以下は私のhaproxy.cfgファイルとキープアライブされたファイルです。
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
#debug
#quiet
user haproxy
group haproxy
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webfarm 172.16.4.99:80
mode http
stats enable
stats auth user:password
balance roundrobin
cookie JSESSIONID prefix
option httpclose
option forwardfor
option httpchk HEAD /check.txt HTTP/1.0
server webA 172.16.4.130:8080 cookie A check
server webB 172.16.4.131:8080 cookie B check
172.16.4.131上172.16.4.130
vrrp_script chk_haproxy { # Requires keepalived-1.1.13
script "killall -0 haproxy" # cheaper than pidof
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101 # 101 on master, 100 on backup
virtual_ipaddress {
172.16.4.99
}
track_script {
chk_haproxy
}
}
keepalived.conf上keepalived.conf:私はMySQLのトランザクションを均衡に類似した構造をした
vrrp_script chk_haproxy { # Requires keepalived-1.1.13
script "killall -0 haproxy" # cheaper than pidof
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 100 # 101 on master, 100 on backup
virtual_ipaddress {
172.16.4.99
}
track_script {
chk_haproxy
}
}