web-dev-qa-db-ja.com

Google AppEngineアプリケーションのリバースプロキシとしてのNginx

説明されているように、nginxをGoogle App Engineアプリケーションのリバースプロキシとして使用して、ネイキッドドメインをサポートしたいと思います ここ 。このスキームを使用する場合、すべてのトラフィックはnginxをホストするサーバーを通過しますか、それともクライアントはApp Engineに直接接続しますか?パフォーマンスと可用性のボトルネックになる可能性はありますか?

6

この方法を使用すると、すべてのトラフィックがNGINXサーバーを通過するため、ボトルネックになり、正常に機能するのに十分な容量があることを確認する必要があります。また、ある程度のレイテンシが発生します(クライアントには、NGINXに接続するレイテンシがあり、NGINXにはAppEngineに接続するレイテンシがあるため、すべてのリクエストで約2倍のレイテンシが発生します)

4
Smudge

フレキシブル環境と標準環境の両方にリバースプロキシを設定する必要はありません。

  • 標準環境のAppEngineインスタンス 1 はパブリック静的IPアドレスを持たず、メインのGoogleフロントエンドサーバーによって完全に保護されています。アプリケーションへのリクエストは最初にGoogleフロントエンドにヒットし、次にフロントエンドはアップロードされた証明書[2]に従ってSSLセキュリティチェックを実行し、次に内部IPを使用してリクエストをAppEngineインスタンスに転送します。したがって、リバースプロキシは必要ありません。

  • App Engineフレキシブル環境[3]を使用している場合、インスタンスはCompute Engine VM [4]を使用するため、静的IPを使用できます。ただし、App Engineは、事前設定されたすべてのApp Engine Flexibleインスタンスの前にNginxプロキシを自動的にロードするため、これを設定する必要はまったくありません。 SSL証明書をアップロードするためのガイド[5]に従うだけで、上記の標準環境と同様に、リクエストはGoogleフロントエンドによって精査されます。したがって、リバースプロキシを追加する必要はありません。

完全な答えはここにあります問題

1
Sudhanshu Gaur