1

私のインスタンスにはほとんどまたはまったくトラフィックがありませんが、min-idle インスタンスが 1 に設定されています。私が気付いたのは、(何らかのボットを介して) 存在しないランダムな URL がアクセスされるたびに、動的リクエストと見なされることです。私のキャッチオールハンドラーは自動です。これは問題ありませんが、これらの 404 エラー (404 は、yaml が catch all パターンを定義しているにもかかわらず、これらの URL パターンに関連付けられた http ハンドラーがないため) が表示され、インスタンスが再起動することを除いては問題ありません。404 エラーが発生した場合、インスタンスを再起動する必要があるのはなぜですか?

私はすべての動的ハンドラーを「/api」パターンに従い、次にそうでないものをいくつか持っています。したがって、すべての有効なパターンを明示的にリストし、自動ハンドラーにマップできます。これらのランダムリンクは静的であると見なされますが、存在せず、404エラーがスローされます(私は問題ありません)? 不正なリクエストが原因でインスタンスが実行され続けないようにしたい。

4

2 に答える 2

-1

以下を引用するドキュメントによると:

「インスタンスがリクエスト /_ah/start に HTTP ステータス コード 200 ~ 299 または 404 で応答した場合、インスタンスは正しく開始され、追加のリクエストを処理できると見なされます。それ以外の場合、App Engine はインスタンスをキャンセルします。手動スケールのインスタンス調整はすぐに再起動しますが、基本的なスケール調整のインスタンスは、トラフィックを配信するために必要な場合にのみ再起動します。"

Go 1.12 の標準 App Engine 環境でインスタンスを管理する方法の詳細については、https ://cloud.google.com/appengine/docs/standard/go112/how-instances-are-managed のリンクを参照してください。

同様に、「インスタンスの管理方法」というドキュメントを読むことをお勧めします。

「セカンダリ ルーティング リクエストがホスト名の [YOUR_PROJECT_ID].appspot.com の部分と一致するが、存在しないサービス、バージョン、またはインスタンスの名前が含まれている場合、サービスはデフォルトでルーティングされます。セカンダリ ルーティングはカスタムには適用されません。これらのドメインに送信されたリクエストは、ホスト名が有効でない場合、HTTP ステータス コード 404 を表示します。」

https://cloud.google.com/appengine/docs/standard/go112/how-instances-are-managed

于 2019-11-13T21:53:34.733 に答える