このトピックでは、クライアントとサーバー間の持続的接続がタイムアウトする問題の解決方法について説明します。この問題は、Web Application Firewall (WAF) によって保護されているサービスで発生する可能性があります。
問題の概要
一部のビジネスシナリオでは、サーバーがクライアントのリクエストを処理するのに 60 秒以上かかることがあります。サーバーが応答を返すまでの間、クライアントとのデータ交換は行われません。
たとえば、Web ページで Excel ファイルをアップロードしてサーバーで処理する場合を考えます。サーバーでのデータ処理に約 3 分かかり、そのうち 120 秒間、HTTP または TCP 経由でクライアントとのデータ交換が発生しない場合、WAF はクライアントに 504 Gateway Timeout エラーを返し、接続を終了します。
デフォルトでは、WAF はデータ交換のない状態で 120 秒を超えて持続する接続を維持しません。
ソリューション
-
Web Application Firewall 3.0 コンソールにログインします。上部のメニューバーから、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。
-
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
CNAME アクセス タブで、管理するドメイン名を探し、操作 列の 編集 をクリックします。
ウィザードの 転送ルールの設定 ステップで、他の詳細設定 をクリックします。読み取り接続タイムアウト期間 と 書き込み接続タイムアウト期間 を調整します。
読み取り接続タイムアウト期間または書き込み接続タイムアウト期間は、1~3,600 秒の範囲で設定できます。デフォルトの読み取り接続タイムアウト期間または書き込み接続タイムアウト期間は 120 秒です。