keepalivedで、特定のvirtual ip宛でアクセスが来たら、クライアントサーバへ向かわせる処理を行なっています。
ですがホストからクライアントへ「telnet ipアドレス 80」は通信が成功するのに、keepalivedではログに「Keepalived_healthcheckers[5189]: Timeout WEB read server」が表示されてしまいます。weightも0になります。
設定など見直しているのですが、いまいち原因がわかりません。
この問題を解決するためのヒントをいただければ幸いです。
環境
centos6.7
##追記
keepalivedの設定はこちらになっております
virtual ipが複数設定してありますが、問題の部分は「ZZZ.ZZZ.ZZZ.ZZZ/28 dev eth2」の部分で、他の部分は正常に動いています。
keepalived.conf
vrrp_instance vip_gw { interface eth1 state BACKUP priority 100 nopreempt authentication { auth_type PASS auth_pass hogehoge } advert_int 1 virtual_router_id 20 virtual_ipaddress { XXX.XXX.XXX.XXX/28 dev eth0 YYY.YYY.YYY.YYY/24 dev eth1 ZZZ.ZZZ.ZZZ.ZZZ/28 dev eth2 } } include ZZZ_ZZZ_ZZZ_ZZZ.conf
ZZZ_ZZZ_ZZZ_ZZZ.conf
virtual_server ZZZ.ZZZ.ZZZ.ZZZ 80 { delay_loop 3 lvs_sched wlc lvs_method NAT protocol TCP real_server AAA.AAA.AAA.AAA 80 { weight 10 inhibit_on_failure HTTP_GET { url { path /health.html status_code 200 } connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
##追記2
コメントでいただいたアドバイス
curl -v https://AAA.AAA.AAA.AAA/health.htmlの結果
* About to connect() to AAA.AAA.AAA.AAA port 80 (#0) * Trying AAA.AAA.AAA.AAA... connected * Connected to AAA.AAA.AAA.AAA (AAA.AAA.AAA.AAA) port 80 (#0) > GET /health.html HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: AAA.AAA.AAA.AAA > Accept: */* > < HTTP/1.1 504 Gateway Time-out < Server: nginx/1.10.3 (Ubuntu) < Date: Wed, 22 Nov 2017 09:03:18 GMT < Content-Type: text/html < Content-Length: 192 < Connection: keep-alive < <html> <head><title>504 Gateway Time-out</title></head> <body bgcolor="white"> <center><h1>504 Gateway Time-out</h1></center> <hr><center>nginx/1.10.3 (Ubuntu)</center> </body> </html> * Connection #0 to host AAA.AAA.AAA.AAA left intact * Closing connection #0

回答1件
あなたの回答
tips
プレビュー