[Ultramonkey-l7-users 289] Re: [Ultramonkey-users 156] 同一サーバ上のポート別アパッチ分散に関して

Back to archive index

Kohei TANUMA tanum****@nttco*****
2010年 2月 1日 (月) 17:13:00 JST


かるさん

田沼と申します。

同様の構成、設定で確認しましたが、再現させることができません。

以下は、同一サーバ内で Apache をポート別で 2 つ起動し、
別のサーバから ab で /user/test.html へアクセスした際の
振り分け状態です。

(TEST-L7)# l7vsadm -K -n
Layer-7 Virtual Server version 2.1.3-0
Prot LocalAddress:Port ProtoMod Scheduler Reschedule Protomod_key_string
  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
TCP 192.168.100.100:80 url rr 0  --uri-pattern-match /user/.+html
  -> 192.168.100.101:8080         Masq    1      0          0
TCP 192.168.100.100:80 sessionless rr 1
  -> 192.168.100.101:80           Masq    1      0          0

(CLIENT)# ab -c 100 -n 10000 http://192.168.100.100/user/test.html

(TEST-L7)# l7vsadm -K -n
Layer-7 Virtual Server version 2.1.3-0
Prot LocalAddress:Port ProtoMod Scheduler Reschedule Protomod_key_string
  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
TCP 192.168.100.100:80 url rr 0  --uri-pattern-match /user/.+html
  -> 192.168.100.101:8080         Masq    1      0          10000
TCP 192.168.100.100:80 sessionless rr 1
  -> 192.168.100.101:80           Masq    1      0          0

上記の通り、全て 8080 側に振り分けています。

「たまに」の際の URL は他の場合と同じでしょうか。
(つまりブラウザのリロードで、たまに 80 側に振られる?)

別 IP に分けるとうまくいくということですので違う可能性が高いですが
考えられるのは、/user/xxx.css や /user/xxx.js、/user/ などの
振り分けパターンに当てはまらないもの(htmlという文字が含まれない)が
80 側に振られているのではないかという点ですがいかがでしょうか。

80 と 8080 で Apache のアクセスログを分けている場合は、
80 側のアクセスログに /user/xxx/xxx.html 等のパターンにマッチするログが
本当に存在しているか確認してみてください。



2010/01/31 10:10, TATEISHI Katsuyuki wrote:
> かるさま、
> 立石と申します。こんにちは。
> 
> ultra****@lists***** は UltraMonkey (L7がつ
> かないほう)のメーリングリストなので、 UltraMonkey-L7 の話題は
> ultra****@lists***** に送ったほうがいい
> です。
> # まぎらわしいですよね・・・
> 
> とりあえずこのメールから ultramonkey-l7-users のほうに Cc し
> ますので、内容に付いてはそちらで。
> 
> 私がお力になれるかどうかわかりませんが、少なくとも分かる人が
> いる可能性が高いと思いますので。
> 
> From: cal darc <d.cal****@gmail*****>
> Subject: [Ultramonkey-users 156] 同一サーバ上のポート別アパッチ分散に関して
> Date: Mon, 18 Jan 2010 16:56:26 +0900
> 
>> 初投稿させて頂きます。かると申します。
>>
>> ■ネットワーク構成
>>              192.168.1.158 (ホスト名TEST-L7: Ultramonkey installed)
>>                        |
>>             ______________
>>             |                       |
>> 192.168.1.157:80  192.168.1.157:8080
>>
>> ■目的
>> 192.168.1.157サーバ上に2つのApacheをそれぞれ80と8080で立ち上げ、
>> http://xxx/user/yyy.htmlというURLでアクセスがきた場合に、8080の方に送り、
>> それ以外の場合、80の方に送りたい。
>>
>> ■ログ
>> 2010/01/18 16:47:25 [INFO] l7vsd_network VSD20010342 [[AccessLog]
>> (SRC)192.168.1.20:50761 -> (DST)192.168.1.157:8080 ] TEST-L7
>> 0x2b6d46e8af60 conn.c:3238
>> 2010/01/18 16:47:35 [INFO] l7vsd_network VSD20010342 [[AccessLog]
>> (SRC)192.168.1.20:50767 -> (DST)192.168.1.157:8080 ] TEST-L7
>> 0x2b6d46e8af60 conn.c:3238
>> 2010/01/18 16:47:48 [INFO] l7vsd_network VSD20010342 [[AccessLog]
>> (SRC)192.168.1.20:50773 -> (DST)192.168.1.157:8080 ] TEST-L7
>> 0x2b6d46e8af60 conn.c:3238
>> 2010/01/18 16:47:51 [INFO] l7vsd_network VSD20010342 [[AccessLog]
>> (SRC)192.168.1.20:50774 -> (DST)192.168.1.157:80 ] TEST-L7
>> 0x2b6d46e8af60 conn.c:3238
>> ↑※何回かアクセスすると、何故か80に行く。。
>>
>> ■問題
>> 同一サーバ上にポート別でアパッチを立ち上げ、リダイレクトさせようとした場合、
>> 8080の方へ行くべきアクセスが、「たまに」80の方へ行く。
>>
>> ■l7directord.confの中身
>> virtual  = 192.168.1.158:http
>>         real = 192.168.1.157:8080 masq 1
>>         module      = url --uri-pattern-match '/user/.+html'
>>         scheduler   = rr
>> #       sorryserver = 192.168.1.157:8080
>>         maxconn     = 1000
>>         qosup       = 100M
>>         qosdown     = 100M
>>         checktype   = on
>>         service     = http
>>         request     = "index.html"
>>         receive     = "html"
>>         quiescent   = no
>>         checkcount  = 2
>>         #realdowncallback        = /opt/down.sh
>>         #realrecovercallback = /opt/recover.sh
>>     #customcheck = ping -c1 -w1 _IP_
>>
>>
>> virtual  = 192.168.1.158:http
>>         real = 192.168.1.157:http masq 1
>>         module      = sessionless
>>         scheduler   = rr
>> #       sorryserver = 192.168.1.157:8080
>>         maxconn     = 1000
>>         qosup       = 100M
>>         qosdown     = 100M
>>         checktype   = on
>>         service     = http
>>         request     = "index.html"
>>         receive     = "html"
>>         quiescent   = no
>>         checkcount  = 2
>>         #realdowncallback        = /opt/down.sh
>>         #realrecovercallback = /opt/recover.sh
>>     #customcheck = ping -c1 -w1 _IP_
>>
>> 80と8080でそれぞれ別IPですと、上手くいくようです。。
>> 大変お手数ですがご教示の程、宜しくお願いいたします。





Ultramonkey-l7-users メーリングリストの案内
Back to archive index