정적 컨텐츠가 요청되면 IIS7이 공백을 리턴합니다.


14

IIS7이 설치된 상태에서 Windows 7 Home Premium 버전의 EEEPC 인 데모 시스템을 구성하여 모든 드라이버가 올바르게로드되었습니다 (홈 버전인지 묻지 마십시오).

ASP.NET MVC 사이트 인 컴퓨터에 데모 할 응용 프로그램을 배포했으며 콘솔을 통해 웹 사이트를 추가하고 응용 프로그램 풀을 추가했습니다. 앱 풀은 NetworkService로 실행되고 게스트는 IUSR로 인증됩니다.

NetworkService에 대한 수정 권한을 추가하고 웹 사이트의 폴더 및 해당 내용에 대한 IUSR에 대한 읽기 및 실행 권한을 추가했습니다.

웹의 루트를 칠 때 http://example.com/ 이라고 말하면 웹 사이트에서 적절한 HTML이 렌더링됩니다 (응용 프로그램이 작동 함을 의미 함).하지만 문제는 모든 정적 컨텐츠가 공백으로 반환된다는 것입니다.

왜 이런 일이 일어나고 있는지 잘 모르겠습니다. 404 또는 500 오류 페이지가 없으며 정적 콘텐츠에 액세스 할 때 빈 응답이 없습니다. 모든 ASP.NET에서 생성 된 컨텐츠는 정상적으로 작동합니다 (모든 CSS 및 이미지가로드되지 않으므로 약간 이상합니다)

IIS7 관리 콘솔이 매우 혼란스럽고 내일이면 기계가 필요합니다.

답변:



2

필자의 경우 서버 역할이 이미 설치되어 있지만 정적 처리기는 단일 처리기 매핑으로 간단한 테스트 사이트에서도 빈 페이지를 제공했습니다.

수정은 요청 제한 "요청이 맵핑 된 경우에만 핸들러 호출"을 사용 가능하게하는 것입니다. "파일"또는 "파일 또는 디렉토리"로 설정했는지는 중요하지 않습니다. 확인란이 활성화되어 있으면 작동합니다.

                  여기에 이미지 설명을 입력하십시오

그래도 문제가 해결되지 않으면 빈 페이지로 연결되는 또 다른 방법은 "요청 경로"섹션에 public또는 같은 경로를 지정하는 것 public/*입니다. 후자는 단순히 잘못된 반면, 전자는 받아 들여 져야하지만 대신 빈 페이지가됩니다. 해결책은 "요청 경로"설정을 <location path='public'>지정 하여 핸들러 맵핑을 섹션 으로 랩핑하는 것 *입니다. 또는 IIS 관리자에서 사이트를 확장하고 먼저 폴더를 선택한 다음 처리기 매핑 편집하십시오.


1

@MattB가 제안했듯이 "정적 컨텐츠"기능을 사용하지 않았지만 이는 문제의 일부일뿐입니다.

"정적 컨텐츠"기능을 추가했지만 문제점이 계속 발생하므로 핸들러 맵핑 목록에서 기본 MvcHttpHandler를 제거하고 문제점이 자체적으로 해결되는 방법에 대해 설명합니다. 따라서 문제점은 MvcHttpHandler가 StaticFileHandler,

참고로 "정적 컨텐츠"를 설치 한 후 다음 사항을 확인하십시오.

  1. 인터넷 정보 서비스 관리자에서 웹 사이트를 클릭하십시오.
  2. "Handler Mappings"기능을 두 번 클릭하십시오.
  3. 오른쪽 (작업 패널)에 "주문 목록보기 ..."라는 링크가 표시됩니다.
  4. 그런 다음 모듈이 각 요청과 일치하는 순서를 찾으십시오. 순서가 올바른지 확인하십시오.

필자의 경우 MvcHttpHandler가 다른 것보다 높았으므로 문제를 목록의 맨 아래로 이동하여 문제를 해결했습니다. 먼저 요청을 처리 할 때

희망이 누군가가 같은 문제를 인터넷 검색하는 데 도움이되기를 바랍니다 :-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.