4

このページ ( https://cloud.google.com/appengine/docs/standard/nodejs/mapping-custom-domains ) には次のように記載されています。

サブドメインの使用

カスタム ドメインにワイルドカード サブドメイン マッピングを設定すると、アプリケーションは一致するサブドメインのリクエストを処理します。

  • ユーザーがアプリケーションのバージョン名またはサービス名と一致するドメインを参照すると、アプリケーションはそのバージョンを提供します。
  • ユーザーがサービス名と一致するドメインを参照すると、アプリケーションはそのサービスを提供します。

また、このページ ( https://cloud.google.com/appengine/docs/standard/java/how-requests-are-routed ) には次のように記載されています。

defaultサービス内の特定のバージョンの使用可能なインスタンスにリクエストを送信します。

https://[VERSION_ID]-dot-[MY_PROJECT_ID].appspot.com

http://[VERSION_ID].[MY_CUSTOM_DOMAIN]


App Engine プロジェクトには次のサービスがあります。

ここに画像の説明を入力

このサービスの次のバージョン:

ここに画像の説明を入力

"1"がデフォルトのバージョンです。"test1"テスト版です。

しかし、ブラウザにhttps://test1.mycustomdomain.com"test1"と入力すると、バージョンではなくデフォルト バージョンが表示されます。

ブラウザーにhttps://test99.mycustomdomain.comと入力すると、(予想どおり) このバージョンが存在しないため、エラー ページが表示されます。

URL https://test1-dot-MY_PROJECT_ID.appspot.com/は期待どおりに機能します (つまり、"test1"バージョンを提供します)。

これらは私の設定したドメインです:

ここに画像の説明を入力

App Engine でリクエストを正しいバージョンにルーティングするにはどうすればよいですか?

4

1 に答える 1

2

アプリに直接マップされたドメインは、デフォルトのサービスを提供します。がカスタム ドメインとしてマッピングされている場合test1.mycustomdomain.comは、常に配信され1ます (デフォルト)。

カスタム ドメインで名前付き GAE バージョンを提供するには、ドメインをワイルドカード ( *.mycustomdomain.com) でマップし、バージョンと競合する他のマップされたサブドメインを削除する必要があります。マッピングされたドメインの動作例は次のとおりです。

  • mycustomdomain.com
  • www.mycustomdomain.com
  • *.mycustomdomain.com

その設定でtest1.mycustomdomain.comは、正しいバージョンtest1.


編集

ワイルドカード マッピングと HTTPS について

ワイルドカード マッピングに関するGCP ドキュメントには、次のように記載されています。

: マネージド SSL 証明書では、ワイルドカード マッピングはサポートされていません。

これにより、ワイルドカード マッピングが HTTPS をサポートしていないと思われる可能性があります。ドキュメントは、GAE が提供するマネージド証明書を参照しています。独自の SSL 証明書を使用する場合、App Engine はワイルドカードの SSL 証明書をサポートします。

一部の App Engine 機能は、特別なサブドメインを使用します。たとえば、アプリケーションはサブドメインを使用して、アプリケーション サービスに対応したり、アプリケーションのさまざまなバージョンに対応したりできます。これらを SSL で使用するには、SAN またはワイルドカード証明書を設定するのが理にかなっています。ワイルドカード証明書は、1 レベルのサブドメインのみをサポートします。

于 2018-10-01T15:58:05.100 に答える