😡 문제 상황
- 프로젝트를 상용서버에 설치 중에 발생한 오류
[HTTP Error 403.14]
- 클라이언트가 서버에 접근하려고 할 때 서버에서 해당 디렉토리의 목록을 보여주는 기능을 활성화 한 경우, 그리고 요청된 URL이 디렉토리 경로인 경우 발생하는 오류
- 즉, 클라이언트가 접근한 URL이 실제 파일이 아니라 디렉토리 경로일 때, 서버는 해당 디렉토리 내부의 파일 목록을 보여주는 기능을 비활성화했기 때문에 클라이언트게 접근 권한이 없다는 응답을 보내게 됨
😥 해결하는 과정
1. 경로 설정의 문제인가해서 경로 관련된 폴더를 찾아봄
2. 경로 설정은 너무 잘 되어있음
3. IIS의 Directory Browsing을 Enable설정하여 크롬에서 확인하였을 때 하위 폴더 및 파일이 자 뜨는 것을 확인함
4. 에러문구를 계속 읽다가 혹시 접근이 안되서 그런가,,,?하면서 뭐에 홀린 듯 Default Document를 클릭함
5. Enable이 Disable이 되도록 변경
😁 해결!!
해결하기 위해 찾은 내용
HTTP 403.14 에러를 해결하기 위해서는 디렉토리 목록을 보여주는 기능을 활성화하거나, 요청된 URL에 해당하는 파일을 서버에 업로드하여 접근할 수 있도록 해야한다.
디렉터리 목록을 보여주는 기능을 활성화하는 방법은 서버에 따라 다르며, 보통 IIS에서 Directory Browsing을 활성화하거나 디렉토리 내 기본 파일(index.html 같은 파일)을 만드는 등의 작업을 통해 해결할 수 있다.
해결 방법
5번 방법으로 문제를 해결함
추가
의문) 내 컴퓨터는 gauto.htm을 default documnet로 언제 설정한걸까,,?
Web.config 파일 때문에 defaultDocument 태그를 읽어서 설정한다.
<defaultDocument>
<files>
<remove value="Default.asp" />
<remove value="index.html" />
<remove value="iisstart.htm" />
<remove value="default.aspx" />
<remove value="index.htm" />
<remove value="Default.htm" />
<add value="gauto.htm" />
</files>
</defaultDocument>