본문 바로가기
프로그래밍/운영체제, 서버

IIS 웹서버에서 기본 페이지와 오류 페이지 설정하기

by pentode 2018. 8. 28.

웹 서버에 http://pentode.tistory.com 처럼 특정 페이지를 지정하지 않고 도메인이나 디렉토리만을 지정하면 기본적으로 보여질 페이지를 지정할 수 있습니다. 보통 index.html, index.php, index.jsp, defaults.asp 등을 지정합니다. 하지만 다른 이름을 지정해도 상관이 없습니다.


오류 페이지는 페이지를 찾을 수 없거나, 프로그램 오류가 발생하였거나, 권한이 없거나 할 경우에 보여지는 페이지 입니다. 대부분의 웹서버의 기본 페이지는 너무 상세한 정보를 알려주므로 보안상 사용하지 않습니다. 오류 페이지를 직접 만들어서 사용하는 방법을 알아 봅니다.


1. 기본 페이지 설정하기


1.1. IIS 관리자에서 사이트를 선택하고 Feature View에서 "기본 문서"를 더블클릭합니다.




1.2. "추가..." 버튼을 눌러 기본 문서 추가 창에서 새로운 기본 문서 이름을 입력합니다. 




1.3. 등록된 기본 문서를 선택하여 제거, 위치 이동을 할 수 있습니다.




등록된 기본 문서들중에 제일 상위의 것을 제일 먼저 찾고, 없으면 다음 것을 찾습니다. 사용되지 않는 언어의 문서는 삭제하는 것이 좋습니다.


기본 문서는 웹루트에만 사용되는 것이 아니고 모든 페이지가 없는 디렉토리에 대한 요청이 있을때 기본 문서를 찾게 됩니다.



2. 오류 페이지 설정하기


2.1. IIS관리자에서 사이트를 선택하고,  Feature View에서 오류 페이지를 더블클릭합니다.




2.2. "추가..." 버튼을 눌러 새로운 오류 페이지를 추가합니다.




2.3. 추가될 오류 페이지 정보를 입력합니다.




- 상태 코드는 HTTP 상태코드를 입력합니다. 이 예의 404.8은 요청 필터링에서 숨겨진 세그먼트를 사용했을 경우 숨겨진 자원을 요청하면 발생하는 에러 입니다.

- 이 사이트에서 URL 실행을 체크하고 에러페이지의 URL을 입력합니다.


오류 응답에 정적 파일의 콘텐츠 삽입"c:\inetput\custerr" 폴더 아래의 파일을 기본 적으로 지정하게 됩니다.

302 리디렉션 응답은 절대 URL을 입력하여 다른 사이트로 리다이렉트 하는것도 가능합니다.


2.4. 오류 페이지의 수정

기존에 등록되어 있는 오류페이지를 선택하고, "편집..." 버튼을 누르거나 더블 클릭하면 창이 뜨고 수정할 수 있습니다.


2.5. 오류코드에 따라 오류 페이지를 지정한 후에 화면 오른쪽의 "기능 설정 편집..." 을 클릭합니다.




"사용자 지정 오류 페이지(C)"를 체크합니다. 이걸 체크해서 사용자 지정 오류 페이지가 동작합니다.



※ 참고

오류 응답에 정적 파일의 콘텐츠 삽입을 선택하여 정보를 입력한 후 다음과 같은 에러가 발생합니다.




HTTP 오류 500.19 - Internal Server Error

web.config 파일의 system.webServer/httpErrors 섹션에는 실제 절대 경로 "C:\inetpub\custerr"을(를) 사용할 수 없습니다. 대신 상대 경로를 사용하십시오.





- IIS 관리자에서 컴퓨터를 선택합니다. Feacture View에서 "구성 편집기" 를 더블 클릭합니다.

- 섹션에 "system.webServer/httpErrors" 를 선택합니다.

- allowAbsolutePathsWeheDelegatedTrue로바꿉니다.

- 오른쪽의 "적용" 버튼을 누르면 절대 경로를 사용할 수 있게 됩니다.


IIS 웹서버에서 기본 문서 설정과 오류 페이지 설정 방법을 알아 보았습니다.

반응형