2009-05-18 2 views
1

저는 회사에서 내부적으로 사용할 (ASP.NET) 웹 사이트를 설정하고 있습니다. IIS에서 Windows 통합 인증을 사용하도록 설정하고 익명 액세스를 해제했습니다. 일단이 작업을 마치면 사이트를 방문 할 때마다 웹 사이트가 "사용자 이름/암호 입력"상자를 팝업하지만 사용자 이름/암호가 맞더라도 로그인하지 않습니다. 이는 로컬 계정이 아닌 도메인 계정으로 컴퓨터에 로그인 한 경우에도 발생합니다.Windows 인증은 호스트 항목으로 만 작동합니다.

그러나 호스트 파일에서 사이트의 IP를 입력하면 사이트가 완벽하게 작동합니다 (추가 시도없이 사용자 로그인).

두 가지 질문이있는 것 같습니다.

1) 호스트 항목에이 영향이있는 이유는 무엇입니까?

2) a) 모든 사람들이 호스트 파일을 편집하도록하거나 b) 사이트에 도전하여 로그인하지 않고 사이트를 성공 시키려면 어떻게해야합니까?

EDIT : 확인했는데 DNS 서버가 해당 URL을 올바른 서버로 가리 키도록 설정했습니다. URL을 핑 (ping)하면 올바른 IP가 표시됩니다. 그러나 DNS 항목이있는 것 외에도 사이트의 호스트 파일 항목을 가지고 있어야합니다.

+0

브라우저에서 호스트 이름을 입력하고 있습니까? – CSharpAtl

+0

IIS에서 호스트 헤더 항목 (test.DOMAINNAME.com)을 설정하고 그 내용을 브라우저에 입력합니다. –

+0

글쎄, 컴퓨터가 서버로 라우팅되는 방법을 물어볼 것이다. 그것은 동일한 서브넷에서 IP를 치워야 만 인트라넷 시스템이며 자동으로 인증됩니다. – Min

답변

0

그래서 ... 작동하도록했습니다. 여기 무슨 일이 있었는지.

test.DOMAINNAME.com의 DNS 관리자를 보면서 동료가 동일한 서버의 다른 사이트가 "호스트 (A)"항목으로 설정되었음을 알았지 만 우리가 작업하고 있던 사이트는 "별칭 (CNAME)"항목으로 설정합니다. 그 컴퓨터에있는 여러 다른 사이트도 별칭 항목으로 설정되었으며 호스트 항목이있는 하나의 사이트는 "견고한"것이고 다른 사이트는 하나 이상으로 산발적으로 문제가 있다고 언급했습니다. 별칭.

우리는 AD/DNS 관리자와 이야기를 나눴고 테스트에서 별칭을 호스트로 바꾸었고 로컬 DNS 캐시를 지우면 .hosts 파일에 항목을 넣지 않고도 완벽하게 작동했습니다.

그럼에도 여전히 의문점이 있습니다.이것은 3 대의 내부 DNS 서버 중 하나로 작동하는 Win2k3 상자였으며이 수정으로 인해 문제가 해결되었습니다. 누구든지 추가 정보를 추가 할 수 있다면 매우 감사 할 것이지만 그 동안 우리는 다른 모든 사이트를 고치고 수정하는 것에 대해 토론하고 있습니다.

0

확실히 이것은 DNS 문제와 유사합니다. DNS 서버가 사용중인 호스트 이름을 알고 있습니까? dns 서버가 연결하려는 호스트의 정방향 조회 (호스트 이름 - IP)를 알지 못하는 것 같습니다.

+0

Ping은 호스트 항목이 없어도 올바른 IP를 가리 킵니다. 그 질문에 대한 대답이 확실하지 않습니다. –

+0

브라우저에서 IP 주소를 사용하면 작동합니까? 아닙니다. – CSharpAtl

+0

내 사이트가이 서버의 기본 웹 사이트가 아니기 때문에 그렇지 않습니다. 그래서 호스트 헤더 항목이 필요합니다. –

0

최근 Windows 인증을 사용하는 인트라넷 사이트를 설정했습니다. 네트워크 사용자가 그룹 정책을 설정하고 IE와 Firefox로 변경되었습니다.

IE의 경우 "인트라넷 사이트"에 사이트를 추가했으며 Firefox의 경우 해당 사이트를 구성하여 인트라넷을 신뢰할 수 있도록 구성 파일을 수정했습니다.

+0

"http : //*.DOMAINNAME.com"이 "로컬 인트라넷"영역에 추가되었습니다. 지금 사이트는 FF로 100 % 작동하지 않지만 내 상사는 아직 그것에 대해 신경 쓰지 않습니다. 그래서 나는 그 다리를 건너겠습니다. :) –

1

Kerberos 인증에 문제가있는 것 같습니다.

Site.DomainName.com의 URL을 사용하고 있기 때문에 DomainName.com이 AD의 이름이기도합니다. IIS를 실행중인 서버에서

는, 리소스 키트 도구에서 SETSPN.EXE을 복사하고 다음을 실행합니다
setspn -A http/site.domainname.com IISServerName 

사이트가 귀하의 URL이고 IISServerName은 서버의 이름입니다

.

관련 문제