IIS 7.0 에서 CS 파일을 게시할 일이 생겼습니다. CS 파일을 게시할 일이 많지 않은 관계로 그닥 신경쓰지 않았던 부분이었는데 막상 할려고 하니깐 이래저래 서버 설정이 필요합니다.
머 일단 관련 파일들을 서버에 올려놓고 가상디렉토리로 만든 다음 브라우저에서 해당 파일을 액세스 해보았습니다.

역시 서버쪽에서 MIME Type 을 빼먹은 이유라고 생각됩니다. 해서 IIS 관리자에서 가상디렉터리의 MIME 타입으로 CS 파일 형식 추가 한 다음 다시 액세스 해보았습니다.

여전히 오류가 납니다. ㅡㅡ;
음 서버의 config 까지 수정해줘야 하는군 이라는 생각이 불현듯 떠오릅니다.
C:\Windows\System32\inetsrv\config 경로의 applicationHost.config 파일을 열어서 아래 그림과 같이 fileExtension 부분의 cs 형식 부분을 주석처리 하니 이제야 파일이 게시됩니다. ^___^
<requestfiltering>
<fileextensions applytowebdav="true" allowunlisted="true">
… 중략…
<!--<add fileextension=".cs" allowed="false" />-->
… 중략…
</fileextensions>
</requestfiltering>
일단 파일은 게시하였지만 application 의 configuration 을 바꾸는 것은 왠지 아닌 것 같다는 생각이 듭니다. 하지만 이건 설정하기 나름이겠지요. 위에서도 언급하였지만 제가 cs 확장명에 대하여 access 를 허용한 것은 하나의 가상 디렉터리 였습니다. 웹사이트가 아니죠~ 즉 해당 가상 디렉터리를 호스팅하는 웹사이트레벨이나 다른 웹사이트에서는 서의 CS 파일은 접근하려고 해도 접근할 수 없다는 말이죠. 위의 applicationHost.config 파일에 보면 fileExtensions 엘리먼트에 보면 allowUnlisted="true" 라는 옵션이 설정되어 있습니다. 이말의 의미는 ‘아래 리스트에 없는 파일 확장명들은 허용한다’ 라는 의미가 됩니다. 이제 좀 이해가 되는군요. ^^
여튼 이러저러해서 IIS 7.0 의 FileExtension 과 관련된 부분을 찾다보니 새삼스래 II 7.0 이 새롭습니다.
참고 1 : Windows Vista 및 그 이상의 웹 서버를 위한 탐색
참고 2 : 테스트 환경 은 Windows Server 2008 SP2 + IIS 7.0 입니다.
추가로…
근데 생각해보니 cs 파일의 확장명을 text 형식으로 바꺼도 될뻔했다는 안타까운 사실이 불현듯!!!




최근 덧글