2017-07-20 8 views
0

背景

私はHeroku's Review Apps機能を使用しています。これは、要求が開かれ、各githubのプル用の新しいアプリケーションのインスタンスを展開し、それをフォーマットHerokuレビューアプリの受信DNSリクエストからサブドメインを解析する

my-app-pr-1234.myapp.herokuapp.com 

のユニークなURLが割り当てられます私のアプリは、Herokuのは(答えhereを参照)をサポートしていないサブドメイン、を多用して。

彼らは私が購入したサブドメインを処理するためのDNSレコードを設定するので、私はexample.com

質問

各プル要求は、それが独自のURLですが生成されますを購入する必要があります。そして、私はそれぞれのために新しいDNSレコードを設定したくありません、私はむしろ1つの一般的なDNSレコードを設定したいと思います。

受信したリクエストのサブドメインを「解析」して正しいアプリケーションに転送するようにDNSを設定するにはどうすればよいですか?

例:

  • 私はDNSがmy-app-pr-1738.myapp.herokuapp.comに要求されたサブドメインとポイントを解析したいfoo.pr-1738.example.com
  • (サブドメインfooは、アプリ自体によって処理されます)
をご覧ください。

これは可能ですか?

サイドノート:この問題は一般的にDNSに適用されますが、私はDNSレコード管理にDNSimpleを使用します。

答えて

0

着信要求のサブドメインを「解析」して正しいアプリケーションに転送するようにDNSを設定するにはどうすればよいですか?

すべてのホスト名が同じバックエンドサーバーによって処理されない限り(単純にDNSプロトコルを使用することはできません)、別のIPアドレスに設定された異なるサブドメインをルーティングすることはできません。

各アプリケーションにカスタムホスト名が関連付けられていて、すべてが固有のスキーマに従っている場合。 <pr-1738>.example.com、あなたはメインのHerokuのホスト名を指すワイルドカード

*.example.com 

を作成することができます。これは、Herokuが異なるIPからA.example.comとB.example.comのアプリケーションを処理する可能性があるため、常に動作することは保証されていません。しかし、ほとんどの場合、うまくいくかもしれません。

本当に正しいアプローチは、アプリケーションの作成時に適切なDNSレコードをプロビジョニングすることです。

関連する問題