Squidというプロキシーサーバを利用しています。

Squidの設定ファイルの中でread_timeoutというタイムアウトに関する設定があるのですが、このタイムアウトが有効になっているかどうかを確認したいと考えてます。

確認方法は下記のような方法を考えてます。
クライアント上でIEを使ってProxyを通して、WEBサーバにアクセスし、read_timeoutが設定した値通りになっているかを確認する。

上記のWEBサーバにタイムアウトを発生させるCGI、PHP等を設置して確認したいのですが、具体的な方法を教えてください。
(試行錯誤しているのですが、CGI上の処理でSLEEP等をかけてしまうと、APACHEが先にタイムアウトしてしまい、確認ができません。)

 実際、確認ができた方法をお願いします。実現手段は、CGI、PHP以外でもかまいません。
実現できない。推測の回答はご遠慮お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/10/17 11:07:32
  • 終了:2008/10/24 11:10:02

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/10/17 12:24:39

ポイント35pt

CGI上の処理でSLEEP等をかけてしまうと、APACHEが先にタイムアウトしてしまい、確認ができません。

Apache の方で TimeOut をのばせばOK.

core - Apache HTTP サーバ

id:hiro48

前提が不足していました。Apacheの設定は変更しない前提です。

2008/10/17 13:06:13
id:taku_j_7 No.2

taku_j_7回答回数139ベストアンサー獲得回数122008/10/17 14:12:05

ポイント35pt

Proxy側のtimeoutの確認をしたいのであれば、

「Apacheのtimeout > squidのread_timeout」である必要性があります。

Apacheの設定を変更しない前提であれば、

一時的にsquidのread_timeoutを短縮する以外方法が無いと思います。

http://www.gadgety.net/shin/tips/unix/squid_conf.html

Default値は15 minutesになっているはずなので、「10 seconds」などと短縮すれば良いです。


細かく判断をするのであれば、wiresharkなどでキャプチャを行い、

レスポンスコードの内容を解析するのが良いと思います。

id:hiro48

設定を変えずにSquidのタイムアウト(read_timeout)が発生する場合があることは確認しています。

(ただこの状況を再現させることができません。)

Apacheのtimeout < squidのread_timeoutの場合で確認方法を提示お願いします。

2008/10/17 14:34:07
  • id:taku_j_7
    >Apacheのtimeout < squidのread_timeoutの場合で確認方法を提示お願いします。
    すいません。
    「Apacheのtimeout < Squidのtimeout」 を検証する必要性が解りません。

    squidのread_timeoutを評価するのであれば、
    ・Apacheやスクリプトのtimeout時間を大きくする
    ・Squidのread_timeoutの値を小さくする
    という設定により、Squidのread_timeoutを優先させてあげた上で、
    ログ、及び戻りパケットを解析するのではダメなのでしょうか。

    >Apacheのtimeout < squidのread_timeoutの場合で確認方法を提示お願いします。
    当然この場合はApacheのtimeoutが先にエラーを返すと思うのですが・・・。


    別観点での検証の意図などが御座いましたら、興味がありますので教えて頂きませんか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません