web-dev-qa-db-ja.com

IISへのWindows認証、完全修飾URLのローカルサーバー上

IIS 7はWindows認証で構成されています。他のマシンからの完全修飾URLを介してマシンに認証でき、適切なドメインを使用します。ただし、完全修飾ドメインを介して(別のサービスで、またはIEのURLを介して)自分自身からマシンに接続しようとすると、Windowsログインプロンプトは、コンピューターをドメインとして使用し、ログを記録するための適切なドメインではないことを強制しようとします。 in。domain\usernameまたは[email protected]でドメインを指定しようとすると失敗します。

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

9
roviuser

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

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

次の Microsoftサポートページ を参照してください。

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

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

お役に立てれば。

cmb ..

11
Craig Beuker

これは、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. コンピュータを再起動します。
3
Greg Askew

SSOの設定経験から、IEは、サイトとクライアントがイントラネット上にある場合、またはサイトが信頼できるゾーン。IE sees 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を使用すること、またはそれを信頼ゾーンに追加することです。

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

1
Alan Byargeon