2016-07-02 7 views
0

Azure API App Serviceを持っています。これは「優先」トラフィック管理を設定するためのものです。 2つの別々のAzureリージョンにサービスを展開し、2つのサービスインスタンスへの優先ルーティングを実行するようにTraffic Managerインスタンスを設定しました。Azure Traffic ManagerのSSL設定(古典的ではない)

foo1.mydomain.com

foo2.mydomain.com

私はそれぞれのAzureアプリケーションサービスのIPアドレスを指して、両方のサブドメインのレコードを持っている:サービスには、次のカスタムドメインの構成を有しています。

サービスにもワイルドカード証明書が添付されており、https://foo1.mydomain.comまたはhttps://foo2.mydomain.comに移動するとうまく動作します。トラフィックマネージャのエンドポイント監視では、両方のエンドポイントがオンラインで有効になっていることが示されます。

ここで、私はクライアントがCNAMEを作成したfoo.mydomain.comというバニティエンドポイントにリクエストを送信させたいと考えています。 CNAMEはトラフィックマネージャインスタンスのURL myapi.trafficmanager.netをポイントします。

SSL/TLS(https://foo.mydomain.com)を使用してバニティURLを解決しようとすると、トラフィックマネージャーに* .azurewebsited.net証明書が添付されているため、証明書エラーが発生します。 SSL/TLSなしでバニティURL(http://foo.mydomain.com)を解決しようとすると、404と「Webアプリケーションが見つかりません」というメッセージが表示されます。ここでも、個々のエンドポイントを解決すると、明示的に200が返されます。

私の質問:SSL/TLS証明書とバニティURLを使用して2つのカスタムドメイン名の優先ルーティングを行うようにAzure Traffic Managerを正しく設定するにはどうすればよいですか?参照用

ディグ出力:それは、Webサーバーではありませんので、

Justins-Laptop:~ jtw$ dig foo.mydomain.com 

; <<>> DiG 9.8.3-P1 <<>> foo.mydomain.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4088 
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 

;; QUESTION SECTION: 
;foo.mydomain.com.  IN A 

;; ANSWER SECTION: 
foo.mydomain.com. 299 IN CNAME myapi.trafficmanager.net. 
myapi.trafficmanager.net. 299 IN CNAME foo1.mydomain.com. 
foo1.mydomain.com. 299 IN A 192.168.1.1 //the actual IP of my first priority endpoint is returned here 

;; Query time: 369 msec 
;; SERVER: 8.8.8.8#53(8.8.8.8) 
;; WHEN: Sun Jul 3 11:13:59 2016 
;; MSG SIZE rcvd: 112 

答えて

6

トラフィックマネージャは、DNSレベルで動作するので、あなたは(* .azurewebsites.net)見ている証明書がないトラフィックマネージャから、アプリケーションサービスから来なければなりませんhttps://azure.microsoft.com/en-gb/documentation/articles/traffic-manager-how-traffic-manager-works/

を参照してください。正しいSSL証明書を使用するようにApp Serviceを設定する必要があります。

バニティドメインfoo.mydomain.comがエンドポイント(foo1.mydomain.com)の1つにCNAMEとして設定されている状態で、Traffic Managerなしですべてを稼働させることをお勧めします。次に、もう一方のエンドポイント(foo2.mydomain.com)を指すようにCNAMEを切り替えて、すべてが機能することを再度確認します。この時点で問題になるのはTraffic Managerが関係しないため、デバッグが容易になります。

作業が完了したら、Traffic ManagerをCNAMEチェーンに再導入してください。

よろしく、

ジョナサンTuliani、プログラムマネージャ、Azureのネットワーキング - 虚栄心のドメイン名が個々にバインドする各エンドポイントアプリサービスと証明書のニーズに割り当てる必要がDNSおよびトラフィックマネージャ

+1

ありがとうジョナサン。それは私を正しい方向に向かわせました。私はバニティドメイン名を割り当て、両方のエンドポイントの証明書ドメインをバニティドメインにバインドする必要があることを認識しませんでした。私がそれをしたら、すべてが期待通りに機能しました。 –

+0

あなたは大歓迎です!他の人が見ることができるように投票してください...ありがとうございます。うれしいことは今あなたのために働いています。 –

0

トラフィックマネージャは何も添付されていないが、それだけで賢く、より-あなたの平均-クマネームサーバです。代わりに.azurewebsites.netドメインの

foo.domain.com 
bar.domain.com 

として、あなたのトラフィックマネージャのエンドポイントを再定義します。

+0

Traffic Managerの "classic"について言及していますか?私は、トラフィックマネージャーが実際にはDNSコンポーネントであることを理解しています。私の問題は、新しいトラフィックマネージャーが、多くの基礎となるSSL/TLSエンドポイントの1つに解決されるバニティーエントリーポイントをサポートしていないようです。 –

+0

現在、トラフィックマネージャ(ARMまたはASM)はルートレベルのドメイン(@) 'domain.com'の後ろに置くことはできません。代わりに 'something.domain.com'を実行する必要があります。しかし、あなたは__vanity__ドメインと 'foo.mydomain.com'について言及しています。後者が正しい場合は、この制限に該当しません。 – evilSnobu

+0

あなたの質問を 'dig your.public-facing-domain.com'の出力で修正し、必要と思われるものを修正してください。あなたはLinuxボックスを手元に持っていないとhttp://digwebinterface.comを使うことができます。 – evilSnobu

1

エンドポイント、すなわち、foo1およびfoo2ならびにバニティエンドポイント。 エンドポイントとして使用されるすべてのアプリケーションサービスで、証明書をバニティドメインにバインドする必要があります

アンに各アプリのサービスエンドポイントのドメインのレコードを、アプリケーションサービスのためのAzureによって割り当てられたIPアドレスを指す:

DNSの設定は次のようにする必要があります。

CNAMEは、バニティドメインから* .trafficmanager.netドメインを指しています。

関連する問題