0

Azure 構成で ADFS の REST API にアクセスすると、奇妙な動作が発生します。

OpenSSl やDigiCertなどのツールを使用して、自分のサイトが正しい証明書を返しているかどうかをテストするとします。例えば:

openssl s_client -connect adfs.{mydomain}.com:443

これを複数回実行すると、正しい証明書と間違った証明書が交互に返されます。

構成は次のとおりです。

  1. ADFS、WWW、および ADRMS の CNAME が DNS に作成され、Azure パブリック ホストである {mydomain}testsvc.cloudapp.net を指しています。
  2. SAN 証明書が作成され、インターネットに面した Web サーバーにインストールされました
  3. 件名: www.{mydomain}.com
  4. サブジェクトの別名: adfs.{mydomain}.com、adrms.{mydomain}.com、www.{mydomain}.com
  5. Web サーバーで「Netsh http show sslcert」を実行すると、adfs と adrms の両方の正しい証明書が表示されます。ホスト名:ポート
  6. adfs.{mydomain}.com/adfs/oauth2/xxx にアクセスできるように、WebApplicationProxy がインストールされています。

少し異なるテストを実行すると:

openssl s_client -connect adrms.{mydomain}.com:443

次に、交互に異なる証明書も取得します。エッジ サーバーは正しい証明書を提供しており、adrms サーバーは「不適切な」証明書を提供していると判断しました。実際、その証明書は本当に問題ありません。adfs.{mydomain}.com を求める人に提供するべきではありません。

では、adfs への接続要求が、エッジ サーバーと adrms サーバーに交互に到達するのはなぜでしょうか? そして、この問題を理解するために今どこを見に行くのですか? 私は、WebApplicationProxy と、すべてのトラフィック (adrms トラフィックを含む) を介してすべてのトラフィックを送信する方法についてほとんど知識がないことを認めます。

プライベート メッセージを介して問題を示すために、実際の URI を提供できます。

また、Web ログに「ロード バランサー エージェント」からのリクエストが多数あるため、ロード バランサーが疑われます。ただし、構成されたものが見つかりません。私が使用した:

Get-AzureInternalLoadBalancer
Get-AzureRMLoadBalancer

どちらも何も返しません。

4

1 に答える 1

0

質問を投稿した直後に、問題を解決する突破口がありました。

「クラシック」管理コンソールを使用していました。デプロイを管理するために portal.azure.com に切り替えました。エッジ サーバーと adrms サーバーに移動すると、両方とも負荷分散セットの一部であることがわかりました。PowerShell スクリプトでこれが表示されなかった理由はわかりません。

この問題を解決するには、それらを LB セットから削除し、エッジ サーバーのエンドポイントを再作成する必要がありました。

手順は次のとおりです。

  1. 管理ポータルに移動します。(portal.azure.com)
  2. 仮想マシンの選択
  3. adrms VM をクリックします。
  4. 負荷分散セットをクリックします
  5. ロードバランサーをクリック
  6. 「退会」をクリック
  7. エッジ VM に対しても同じ手順を実行します
  8. エッジ VM の場合、ポート 443 の新しいエンドポイントを追加します

これが機能するのは、Edge サーバーが adrms サーバーへのトラフィックのリダイレクトも処理するためです。

これが誰かの頭痛の種を救うことを願っています。

于 2016-07-07T18:20:37.373 に答える