オリジンサイトに問題がある場合にユーザーリクエストに一時的に対応する方法
オリジンサイトに問題があり、リクエストされたコンテンツをユーザーに返せない場合でも、ユーザーがコンテンツを取得できる方法はありますか期限切れのコンテンツであっても、そのコンテンツはどうですか?
方法 1: ats プラグインを追加して実装:
オリジン サイトでタイムアウトなどの問題が発生し、データが正常に返されず、502 や 504 などのエラー コードが返されることを防ぐために、ats プロキシローカルに期限切れのキャッシュ データがある場合、サーバーはユーザー エクスペリエンスに直接 502、502、および 504 を返します。 ats では、期限切れのキャッシュ データが一時的にユーザーに返されます。ユーザーの観点からは、200 回の訪問が成功しました。
方法 2: ats の処理メカニズムを介して:
オリジン サイトのサービスが停止しているかマシンがダウンしているなど、オリジン サイトが ats にデータを返せない場合、ats にキャッシュがある場合、TCP_REFRESH_FAIL_HIT/200 が返されます。が返され、proxy.config.http.cache.max_stale_age のキャッシュ値に達するまで、次のアクセスは常に TCP_HIT/200 になり、今後のリクエストは TCP_REFRESH_FAIL_HIT/502 を返します
records.config の設定項目:
proxy .config.http.cache .max_stale_age INT 604800
上記の設定項目の意味: オブジェクトがキャッシュできなくなるまでに古いオブジェクトが応答できる最大時間 (デフォルトは 1 週間あたり 604800 秒)。
上記の 2 つの方法が期待される結果を達成するための前提条件は、ATS にキャッシュがあり、期限切れであることです
==========
上記の方法 2 の場合にテストされました:
以下クライアントの応答ヘッダー情報の一部です。 違い:
1. サーバーは正常にサービスを提供し、正常に応答します (TCP_HIT/200):
Proxy-Connection: keep-alive
* ホスト 192.168.10.74 への接続 #0 はそのまま残ります。
* 接続 #0 を閉じています
2. サーバーが停止状態で同じリクエストを再度送信します (TCP_REFRESH_FAIL_HIT/200):
* HTTP/1.1 プロキシ接続が閉じています!
* 接続 #0 を閉じます
3。上記 2 基本的に、複数の同一のリクエストを再度送信します (TCP_HIT/200):
Proxy-Connection: keep-alive
* ホスト 192.168.10.74 への接続 #0そのまま残しました
* 接続 #0 を閉じています
4. サーバー停止の下で設定値 604800s に達すると、リクエストが再度送信されます (TCP_REFRESH_FAIL_HIT/502):
Proxy-Connection: Keep-Alive
>
* ホスト 192.168.10.74 への接続 #0 はそのまま残されました
* 接続 #0 を閉じています
http://www.bkjia.com/PHPjc/1122650.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1122650.html技術記事元のサイトに問題がある場合、ユーザーのリクエストに一時的に応答するにはどうすればよいですか? 元のサイトに問題があり、要求されたコンテンツをユーザーに返せない場合、ユーザーが引き続き対応できるようにする方法はありますか?コンテンツを入手...