[cloudstack-users:0392] Re: 【質問】ロードバランサ配下のvmのアクセスログ
giraffe.forest
giraffe.forest @ wh.commufa.jp
2014年 8月 23日 (土) 17:01:53 JST
小林さん
こんにちは。中谷と申します。
Apache CloudStack 4.4.0かつ
ロードバランスのパブリックポートが80の場合は
HAProxyのlisten定義がhttp modeで設定されX-Forwarded-Forが取得できると思います。
この場合は
仮想ルータが以下のように設定されます。
---------------------------
/etc/haproxy/haproxy.cfg
:
defaults
:
mode tcp
:
listen 10_0_1_34-80 10.0.1.34:80
balance roundrobin
server 10_0_1_34-80_0 10.1.1.15:80 check
mode http
option httpclose
---------------------------
Apache CloudStack 4.3.0(少なくともrpm版は)だと
listenの定義でmode httpが設定されないようなので
defaultsのmode tcpが有効になり
X-Forwarded-Forの取得ができないと思います。
自分も挙動に興味があったので
ブログに詳しく書いてみました。
よろしかったら一度見てください。
( ´ ▽ ` )ノ
http://giraffeforestg.blog.fc2.com/blog-entry-176.html
以上
-----Original Message-----
From: "小林 良太郎"
Sent: Thursday, August 21, 2014 10:59 AM
To: users @ cloudstack.jp
Cc: "小林 良太郎"
Subject: [cloudstack-users:0391] 【質問】ロードバランサ配下のvmのアクセスログ
いつもお世話になります。
小林と申します。
負荷分散機能を使用しているときのnginxのアクセスログについて質問があります。
現在、以下の環境においてcloudstackの負荷分散を使用しています。
配下にnginxを利用したWEBサーバ(HTTP)を2台置いています。
<環境>
ネットワーク:Advanced
CloudStackのバージョン:4.3.0
ホストのバージョン:XenServer6.2.1
<質問>
nginxのアクセスログを見ると、送信元IPがロードバランサのIPになっています。
X-Forwarded-Forをログに出力させても、何も出てきません。("-"になっています。)
調べてみると、CitrixSupportにHTTPSですが、似たような事例がありました。
http://support.citrix.com/article/CTX138262
コレを見ると、HA ProxyがHTTPモードではなくTCPモードで動いているので、
X-Forwardedヘッダには何も設定されないようです。
解決方法として、別ネットワークでロードバランサとしてnginxサーバを作るように書いてありますが、
ややこしい構成にしたくないので避けたいです。
解決方法やヒントをご存知の方がおりましたら
ご教示下さい。
以上、宜しくお願い致します。
_______________________________________________
users mailing list
users @ cloudstack.jp
http://ml.cloudstack.jp/mailman/listinfo/users
users メーリングリストの案内