정규화 된 URL을 사용하여 로컬 서버의 IIS에 대한 Windows 인증


9

Windows 인증으로 구성된 IIS 7에서 웹 응용 프로그램을 설정했습니다. 다른 컴퓨터의 정규화 된 URL을 통해 컴퓨터를 인증 할 수 있으며 올바른 도메인을 사용합니다. 그러나 정규화 된 도메인을 통해 (다른 서비스에서 또는 IE의 url을 통해) 자체에서 컴퓨터에 연결하려고하면 Windows 로그인 프롬프트가 컴퓨터를 도메인으로 사용하지 않고 강제로 도메인을 사용하려고합니다. 로그인에 적합한 도메인입니다. 도메인을 지정하려고 domain\username하거나 username@domain.com실패했습니다.

localhost컴퓨터 에서 웹 응용 프로그램을 보는 것은 작동하지만 site.company.com/webservice로그인 도메인이 잘못되어 전체 스타일 URL을 사용하는 것은 로컬 컴퓨터에서 작동하지 않습니다. 올바른 로그인 도메인을 사용하려면 어떻게해야합니까?

답변:


11

나는 똑같은 일을하려고했습니다. FQDN을 사용하여 로컬 IIS의 웹 사이트에 액세스하고 IIS가 어디로 가야하는지 계속 알려주십시오.

어쨌든 내 파기에서 로컬 IIS 웹 사이트에 대한 루프백 확인을 비활성화해야합니다.

다음 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 ..


4

이는 LoopbackCheck라는 보안 기능 때문입니다.

Windows Server 2003 서비스 팩 1을 설치 한 후 FQDN 또는 CNAME 별칭을 사용하여 로컬로 서버에 액세스하려고하면 "액세스 거부"또는 "주어진 네트워크 경로를 허용하는 네트워크 공급자가 없음"오류 메시지
http://support.microsoft .com / kb / 926642

두 가지 해결책이 있습니다.

방법 1 (권장) : NTLM 인증 요청에서 참조 할 수있는 로컬 보안 기관 호스트 이름을 만듭니다. 이렇게하려면 클라이언트 컴퓨터의 모든 노드에 대해 다음 단계를 수행하십시오.

  1. 시작, 실행을 차례로 클릭하고 regedit를 입력 한 다음 확인을 클릭합니다.
  2. 찾은 후 다음 레지스트리 하위 키를 찾아 누릅니다. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. MSV1_0을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 다중 문자열 값을 클릭합니다.
  4. 이름 열에 BackConnectionHostNames를 입력 한 다음 Enter 키를 누릅니다.
  5. BackConnectionHostNames를 마우스 오른쪽 단추로 클릭 한 다음 수정을 클릭합니다.
  6. 값 데이터 상자에 컴퓨터의 로컬 공유에 사용되는 CNAME 또는 DNS 별칭을 입력 한 다음 확인을 클릭합니다.

    참고 : 각 호스트 이름을 별도의 줄에 입력하십시오.

    참고 : BackConnectionHostNames 레지스트리 항목이 REG_DWORD 유형으로 존재하면 BackConnectionHostNames 레지스트리 항목을 삭제해야합니다.

  7. 레지스트리 편집기를 종료 한 다음 컴퓨터를 다시 시작하십시오.

방법 2 : HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa 레지스트리 하위 키의 DisableLoopbackCheck 레지스트리 항목을 1로 설정하여 인증 루프백 검사를 사용하지 않도록 설정하십시오. DisableLoopbackCheck 레지스트리 항목을 1로 설정하려면 클라이언트 컴퓨터에서 다음 단계를 수행하십시오.

  1. 시작, 실행을 차례로 클릭하고 regedit를 입력 한 다음 확인을 클릭합니다.
  2. 찾은 후 다음 레지스트리 하위 키를 찾아 누릅니다. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. Lsa를 마우스 오른쪽 단추로 누르고 새로 만들기를 가리킨 다음 DWORD 값을 누릅니다.
  4. DisableLoopbackCheck를 입력 한 다음 Enter 키를 누릅니다.
  5. DisableLoopbackCheck를 마우스 오른쪽 단추로 클릭 한 다음 수정을 클릭합니다.
  6. 값 데이터 상자에 1을 입력 한 다음 확인을 클릭합니다.
  7. 레지스트리 편집기를 종료하십시오.
  8. 컴퓨터를 다시 시작하십시오.

- 무엇 나를 위해 속임수를 썼는지하면 2 옵션이었다 DisableLoopbackChecking에서HKEY_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을 허용하는 데 도움이되는 두 가지 사실은 웹 서버에 인증서를 제공하고 SSL을 사용하거나 신뢰할 수있는 영역에 추가하는 것입니다.

이것이 설정과 관련하여 도움이되기를 바랍니다.


이렇게해도 문제가 해결되지 않습니다. FQDN을 신뢰할 수있는 영역에 추가하려고했지만 아무 소용이 없습니다. 그래도 다른 문제를 해결한다고 생각합니다. 신뢰할 수있는 영역에 추가하면 자동 인증이 가능 합니다. 필요하지 않습니다. 자격 증명을 지정해도 괜찮습니다.하지만 문제는 로그인 자격 증명에 지정된 도메인을 허용하지 않는다는 것입니다. 컴퓨터 이름이 붙어 있습니다.
roviuser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.