[cloudstack-users:0393] Re: 【質問】ロードバランサ配下のvmのアクセスログ

giraffe.forest @ wh.commufa.jp giraffe.forest @ wh.commufa.jp
2014年 8月 23日 (土) 17:13:23 JST


※iphoneで見ると文字化けするかもしれないので再送しています。

小林さん

こんにちは。中谷と申します。

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 -----
送信者: "小林 良太郎" <kobayashi @ mec-jp.com>
送信日時: 2014年08月21日(木) 10:59:47

> いつもお世話になります。
> 小林と申します。
> 
> 負荷分散機能を使用しているときの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 メーリングリストの案内