[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 メーリングリストの案内