完全修飾URLを使用したローカルサーバー上のIISへのWindows認証


9

Windows認証で構成されたIIS 7でWebアプリケーションをセットアップしました。他のマシンからの完全修飾URLを介してマシンを認証でき、適切なドメインを使用します。ただし、完全修飾ドメインを介して(別のサービスで、またはIEのURLを介して)自分自身からマシンに接続しようとすると、Windowsログインプロンプトは、コンピューターをドメインとしてではなくドメインとして使用することを強制しようとします。ログイン用の適切なドメイン。ドメインを指定しようとして失敗するdomain\usernameか、username@domain.com失敗します。

localhostマシン上でのWebアプリケーションの表示は機能しsite.company.com/webserviceますが、ログインドメインが間違っているため、完全なスタイルのURL を使用してもローカルマシンでは機能しません。適切なログインドメインを使用するにはどうすればよいですか?

回答:


11

私も同じことをしようとしていました。FQDNを使用してローカルIIS上のWebサイトにアクセスし、IISがどこに行くべきかを知らされ続けます。

とにかく、私の掘り起こしから、ローカルIIS Webサイトのループバックチェックを無効にする必要があります。

次のマイクロソフトサポートページを参照してください

ページがなくなった場合、私は次のことを行いました(これは彼が上記のブログ投稿で推奨していることです)

  1. [実行]に「regedit」と入力して、レジストリエディターを開きます。
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0に移動します
  3. MSV1_0を右クリックし、[新規]をクリックして、マルチストリング値にすることを選択します。
  4. エントリの名前としてBackConnectionHostNamesを入力し、ダブルクリックして変更します。
  5. 使用する必要があるホスト名を入力します(たとえば、code-journey.com)。
  6. IISAdminサービスを再起動します(「スタート」->「管理ツール」->「サービス」)

お役に立てれば。

cmb ..


4

これは、LoopbackCheckと呼ばれるセキュリティ機能によるものです。

Windows Server 2003 Service Pack 1をインストールした後、FQDNまたはCNAMEエイリアスを使用してローカルでサーバーにアクセスしようとすると、エラーメッセージ "アクセスが拒否されました"または "指定されたネットワークパスを受け入れたネットワークプロバイダーがありません"が表示される
http://support.microsoft .com / kb / 926642

2つの解決策があります。

方法1(推奨):NTLM認証要求で参照できるローカルセキュリティ機関のホスト名を作成します。これを行うには、クライアントコンピューターのすべてのノードで次の手順を実行します。

  1. [スタート]、[ファイル名を指定して実行]の順にクリックし、「regedit」と入力して、[OK]をクリックします。
  2. 次のレジストリサブキーを見つけてクリックします:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. [MSV1_0]を右クリックし、[新規]をポイントして、[マルチストリング値]をクリックします。
  4. [名前]列に「BackConnectionHostNames」と入力し、Enterキーを押します。
  5. [BackConnectionHostNames]を右クリックし、[修正]をクリックします。
  6. [値のデータ]ボックスに、コンピューターのローカル共有に使用されるCNAMEまたはDNSエイリアスを入力し、[OK]をクリックします。

    注:各ホスト名を別々の行に入力してください。

    注:BackConnectionHostNamesレジストリエントリがREG_DWORDタイプとして存在する場合は、BackConnectionHostNamesレジストリエントリを削除する必要があります。

  7. レジストリエディターを終了して、コンピューターを再起動します。

方法2:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ LsaレジストリサブキーのDisableLoopbackCheckレジストリエントリを1に設定して、認証ループバックチェックを無効にします。DisableLoopbackCheckレジストリエントリを1に設定するには、クライアントコンピューターで次の手順を実行します。

  1. [スタート]、[ファイル名を指定して実行]の順にクリックし、「regedit」と入力して、[OK]をクリックします。
  2. 次のレジストリサブキーを見つけてクリックします:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. [Lsa]を右クリックし、[新規]をポイントして、[DWORD値]をクリックします。
  4. DisableLoopbackCheckと入力し、Enterキーを押します。
  5. [DisableLoopbackCheck]を右クリックし、[修正]をクリックします。
  6. [値のデータ]ボックスに1と入力し、[OK]をクリックします。
  7. レジストリエディタを終了します。
  8. コンピュータを再起動します。

どのような私のためにトリックをしたことは第二のオプションだった- DisableLoopbackCheckingHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
イカロス

1

SSOの設定経験に基づいて、サイトとクライアントがイントラネット上にある場合、またはサイトが信頼済みゾーンにある場合にのみ、IEがログオン用のkerberosチケットを自動的に渡すことがわかります。IEがhttp://site.company.com/webserviceを見つけた場合、そのサイトはインターネット上にあると想定され、ログオンの資格情報を渡しません。

このリンクには、IIS、IE、およびKerberosに関する役立つ情報がいくつかあります。 http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx

イントラネットでFQDNを許可するために機能することがわかった2つのことは、Webサーバーに証明書を提供し、SSLを使用すること、またはそれを信頼ゾーンに追加することです。

これがあなたのセットアップに関連して役立つことを願っています。


これは問題を解決しません。信頼できるゾーンにFQDNを追加しようとしましたが、役に立ちませんでした。それでも別の問題は解決すると思います。信頼済みゾーンに追加すると、自動認証が可能になります。これは必要ありません-資格情報を指定しても大丈夫ですが、問題は、ログイン資格情報として指定されたドメインを受け入れていないことです。コンピューター名にスタックしています。
roviuser
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.