タグ

Proxyとtimeoutに関するyassのブックマーク (3)

  • nginxのproxy_read_timeoutはupstreamにも注意 - noob

    proxy_read_timeoutが思ったような挙動ではなかったので実験してみた. 想定していた挙動 こんな設定のnginxに対して upstream server_pool_a { server web001:80 max_fails=3 fail_timeout=30s; server web002:80 max_fails=3 fail_timeout=30s; } proxy_read_timeout 60 無限ループするようなCGIをプロキシさせたら web001にリクエスト ↓ 60秒以内にレスポンスが完了しない ↓ 504 Gateway Time-out 発生 となると思っていた. 実際の挙動 ところが実際には以下のような挙動だった. web001にリクエスト ↓ 60秒以内にレスポンスが完了しない ↓ web002にリクエスト ↓ 60秒以内にレスポンスが完了しない ↓

    nginxのproxy_read_timeoutはupstreamにも注意 - noob
    yass
    yass 2015/03/12
    " proxy_read_timeoutに設定した時間が経過した後,upstreamに他のサーバがいるときは順にリクエストを投げていく."
  • 宁波逼拘旅行社

    宁波逼拘旅行社
  • フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ

    目的 フロントがHTTPリクエストを受けて、バックエンドのアプリケーションサーバにreverse proxyするような構成において、指定秒数以内に何かしらのレスポンスを返したい。 200が返せない場合は、処理を打ち切って500を返したい。 背景 フロントでApacheやNginxをreverse proxyとして使っている場合、バックエンドが無応答になってしまうと、クライアントにレスポンスが返るのはデフォルトで数十〜数百秒後(ApacheのTimeoutのデフォルトは300秒、Nginxのproxy_read_timeoutのデフォルトは60秒)になってしまいます。 通常のWebサービスではこのオーダーのタイムアウトでもいいのかもしれませんが、数秒以内に(エラーでもいいので)レスポンスを返すことが求められる環境も存在します。(最近、特に多いのではないでしょうか:P) もちろんバックエンドが

    フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ
    yass
    yass 2012/12/02
    " proxy_read_timeoutはreadとreadの間のタイムアウトなので、バックエンドからbodyがちょろちょろ返ってくる(2秒おきにbodyのデータを返す)場合は、proxy_read_timeoutが効きません。"
  • 1