
Windows 인증으로 구성된 IIS 7에 웹 응용 프로그램을 설정했습니다. 다른 컴퓨터의 정규화된 URL을 통해 해당 컴퓨터에 인증할 수 있으며 적절한 도메인을 사용합니다. 그러나 정규화된 도메인(다른 서비스에서 또는 IE의 URL을 통해)을 통해 자체적으로 컴퓨터에 연결하려고 하면 Windows 로그인 프롬프트에서 컴퓨터를 도메인으로 사용하도록 강제하려고 시도합니다. 로그인에 적합한 도메인입니다. 도메인을 지정하려고 시도하거나 domain\username
실패 [email protected]
합니다.
localhost
컴퓨터에서 웹 애플리케이션을 보는 것은 작동하지만 site.company.com/webservice
로그인 도메인이 잘못되었기 때문에 전체 스타일 URL을 사용하면 로컬 컴퓨터에서는 작동하지 않습니다. 적절한 로그인 도메인을 사용하려면 어떻게 해야 합니까?
답변1
나도 똑같은 일을하려고했습니다. FQDN을 사용하여 로컬 IIS의 웹 사이트에 액세스하면 IIS에서 어디로 가야 하는지 계속 알려줍니다.
어쨌든, 제가 조사해본 결과, 로컬 IIS 웹사이트에 대한 루프백 확인을 비활성화해야 합니다.
다음을 참조하세요마이크로소프트 지원 페이지.
페이지가 사라진 경우 다음을 수행했습니다(위 블로그 게시물에서 그가 권장한 내용).
- 실행 아래에 regedit를 입력하여 레지스트리 편집기를 엽니다.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0으로 이동합니다.
- MSV1_0을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기를 클릭한 후 다중 문자열 값으로 만들기를 선택합니다.
- 항목 이름으로 BackConnectionHostNames를 입력하고 두 번 클릭하여 수정합니다.
- 사용해야 하는 호스트 이름을 입력합니다(예: code-journey.com).
- IISAdmin 서비스 다시 시작("시작" -> "관리 도구" -> "서비스")
도움이 되었기를 바랍니다.
cmb..
답변2
이는 LoopbackCheck라는 보안 기능 때문입니다.
Windows Server 2003 서비스 팩 1을 설치한 후 FQDN 또는 CNAME 별칭을 사용하여 로컬로 서버에 액세스하려고 하면 "액세스가 거부되었습니다." 또는 "지정된 네트워크 경로를 허용하는 네트워크 공급자가 없습니다."라는 오류 메시지가 나타납니다.
http://support.microsoft.com/kb/926642
두 가지 해결 방법이 있습니다.
방법 1(권장): NTLM 인증 요청에서 참조할 수 있는 로컬 보안 기관 호스트 이름을 만듭니다. 이렇게 하려면 클라이언트 컴퓨터의 모든 노드에 대해 다음 단계를 수행하십시오.
- 시작, 실행을 차례로 클릭하고 regedit를 입력한 다음 확인을 클릭합니다.
- 다음 레지스트리 하위 키를 찾아 클릭합니다: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- MSV1_0을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 다중 문자열 값을 클릭합니다.
- 이름 열에 BackConnectionHostNames를 입력한 다음 Enter 키를 누릅니다.
- BackConnectionHostNames를 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
값 데이터 상자에 컴퓨터의 로컬 공유에 사용되는 CNAME 또는 DNS 별칭을 입력한 다음 확인을 클릭합니다.
참고: 각 호스트 이름을 별도의 줄에 입력하십시오.
참고: BackConnectionHostNames 레지스트리 항목이 REG_DWORD 유형으로 존재하는 경우 BackConnectionHostNames 레지스트리 항목을 삭제해야 합니다.
레지스트리 편집기를 종료한 다음 컴퓨터를 다시 시작합니다.
방법 2: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 레지스트리 하위 키의DisableLoopbackCheck 레지스트리 항목을 1로 설정하여 인증 루프백 검사를 비활성화합니다.DisableLoopbackCheck 레지스트리 항목을 1로 설정하려면 클라이언트 컴퓨터에서 다음 단계를 수행하십시오.
- 시작, 실행을 차례로 클릭하고 regedit를 입력한 다음 확인을 클릭합니다.
- 다음 레지스트리 하위 키를 찾아 클릭합니다: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- Lsa를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 DWORD 값을 클릭합니다.
- 비활성화LoopbackCheck를 입력한 다음 Enter 키를 누릅니다.
- 비활성화LoopbackCheck를 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
- 값 데이터 상자에 1을 입력한 다음 확인을 클릭합니다.
- 레지스트리 편집기를 종료합니다.
- 컴퓨터를 다시 시작합니다.
답변3
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을 허용하는 두 가지 방법은 웹 서버에 인증서를 제공하고 SSL을 사용하거나 이를 신뢰 영역에 추가하는 것입니다.
이것이 귀하의 설정과 관련하여 도움이 되기를 바랍니다.