IIS 6.0 과 7.0의 차이
IIS6.0 은 제어판의 프로그램 추가 / 삭제 에서 IIS 7.0 은 Server Manager 의 Roles에서 선택해서 설치 한 다는 것이다.
.NetFrameWork 의 동작 형태와 내부 모듈을 사용을 선택적으로 할 수 있느냐 없느냐 차이가 있다 하지만 사용 하는데 있어서는 별 차이는 없다
Open Source의 활용에 있어서는 IIS는 아직 유연하지 못하다.
설치 방법은 IIS6.0 설치 할 때 ASP.NET을 지원하기 위해 체크 한 것과 똑같이 IIS 7.0도 체크 하고 사용하면 별 다른 문제 없이 사용한다.
여기서 주목해야 할 부분은 IIS 7.0 환경에서는 프레임웍을 2.0만 지원한다는 것이다.
IIS7.0에서 .NetFrameWork 3.0을 설치 하고 지원하고자 한다면 IIS7.0 설치가 아니라 Application Server를 설치 해야 한다.
Application Server 설치시 Web Server (IIS) Support 를 선택하면 된다.
.NetFrameWork 3.5 는 IIS 7.0 에서 아직 지원을 하고 있지 않다.
기존 IIS 6.0과는 다르게 컴포넌트 베이스로 만들어져 있다.
지금까지의 IIS는 설치 시 특정 기능에 대한 제거가 불가능했다. 예를 들어, Windows 인증, 기본 인증을 쓰지 않을 경우에도, Web 관련 모듈을 설치하시면 무조건 같이 설치가 되었지만, IIS 7.0부터는 IIS의 모든 모듈을 개별적으로 선택하여 설치할 수 있다.
IIS 6.0상에서 asp 스크립트 실행이 불가능 할 때
Microsoft ASP(Active Server Pages)는 동적인 대화형 웹 페이지를 만들고 강력한 웹 응용 프로그램을 작성하는 데 사용할 수 있는 서버 쪽 스크립트 환경이다. 서버가 ASP 파일에 대한 요청을 받으면 해당 파일에 들어 있는 서버 쪽 스크립트 코드를 처리하여 브라우저로 보내는 HTML 웹 페이지를 만든다. ASP 파일에는 서버 쪽 스크립트 코드 외에도, 데이터베이스에 연결하거나 비즈니스 논리를 처리하는 것과 같은 다양한 작업을 수행하는 COM(구성 요소 개체 모델) 구성 요소에 대한 호출과 HTML(관련된 클라이언트 쪽 스크립트 포함)이 포함될 수 있다.
여기서 잠깐! Active Server Pages를 실행을 실행 할려면 IIS 관리에 웹 서비스 확장을 클릭! 그 밑에 확장탭과 표준탭이 있는데 표준 탭을 클릭하면 Active Server Pages 가 있는 걸 볼 수 있다. 허용을 클릭하면 된다
중요!
공격 대상이 될 수 있는 서버의 취약점을 최소화하기 위해 IIS 6.0은 Windows Server 2003에 기본적으로 설치 안돼 있다. IIS 6.0을 처음 설치할 때 이 서비스는 잠겨 있다. 즉, 정적 웹 페이지에 대한 요청 처리만 사용 가능하며 World Wide Web 게시 서비스(WWW 서비스)만 설치된다. ASP, ASP.NET, CGI 스크립팅, Microsoft의 FrontPage® 2002 Server Extensions 및 WebDAV 게시 등 IIS를 기반으로 하는 기능은 설정되지 않는다. 이러한 기능을 사용하지 않으면 IIS에서 404 오류가 반환된다. IIS 관리자에서 웹 서비스 확장 노드를 통해 이러한 기능을 사용하도록 설정할 수 있다
웹 서비스 확장 사용
① IIS 관리자에서 웹 서비스 확장 폴더를 클릭
② 세부 정보 창에서 사용할 웹 서비스 확장을 선택한 다음 허용을 클릭
③ 웹 서비스 확장명의 속성을 보려면 확장을 선택한 다음 속성을 클릭
중요!
웹 서버에서 알려지지 않은 ISAPI 확장이나 CGI 확장이 실행되도록 허용하면 이러한 기술을 이용하는 컴퓨터 바이러스나 웜에 웹 서버가 감염될 수 있다. 대신 웹 서버에서 실행하려는 특정 ISAPI 확장 또는 CGI 확장만 선택한다.
IIS 7.0 ASP 오류 처리
에러메시지> HTTP 오류 403.14 – Forbidden
체크확인> 제어판 프로그램 추가/삭제 windows 기능 추가에서
인터넷 정보서비스 -> w.w.w 서비스 -> 응용프로그램 개발기능에 asp가 체크되었는지 확인
에러메시지> An error occurred on the server when processing the URL
Please contact the system administrator
해결방법> IIS에서 기능보기에서 ASP -> 디버깅 속성 – 브라우져 오류전송을 false를 true로 변경
에러메시지> Active Server Pages 오류 ASP 0131
허용되지 않는 부모 경로
/~~~ JS asp, 줄 234
‘../~~~process.asp’ Include 파일은 부모 디렉터리를 표시하기 위해 ‘..’를 사용 불 가능
해결방법> IIS 해당 사이트 기능보기에서 ASP -> 동작 – 부모경로사용 false를 true로 변경
Web.config 파일을 이용한 asp.net 설정
기존의 asp 환경에서는 IIS의 메타데이터에 웹 응용 프로그램의 각종 설정 데이터를 보관했었다. 그러나 asp.net 환경에서는 이 방식에서 탈피하여 새롭게 web.config라는 이름의 파일에 웹 응용 프로그램의 설정 정보를 저장하고 있다
Web.config 파일은 개별적인 웹 응용 프로그램의 루트 폴더에 위치하며 따라서 각각의 웹 응용 프로그램 별로 각기 다른 설정을 적용할 수 있다. 또는 웹 응용 프로그램을 구성하는 하위 폴더에 위치하여 각 폴더별로 다른 설정을 적용할 수도 있다.
Web.Config 파일은 XML을 기반으로 구성되어 있기 때문에 개발자는 웹 응용 프로그램에 대한 설정의 변경이 매우 용이해졌으며 또한 설정의 적용 역시 단순히 파일을 복사하는 것으로 끝낼 수 있다.
게다가 ASP.NET은 Web.Config 파일의 변경 사항을 자동적으로 감지하여 이를 웹 응용 프로그램의 중단이나 재 시작 없이 적절한 시기에 적용시킨다. 따라서 웹 응용 프로그램의 지속성을 향상시켰을 뿐 아니라 HTTP 프로토콜을 통한 웹 브라우저의 접근을 원천적으로 차단하고 있어 보안성 또한 높아졌다.
<configuration> <location> // 자신의 하위 노드를 통해 설정된 설정 데이터를 적용할 특정 파일 경로를 지정할 수 있으며 생략될 수도 있다 <system.web> // 지정된 다양한 asp.net 웹 응용 프로그램 설정 데이터를 지정할 수 있는 여러 노드와 특성들이 존재 한다 <authentication></authentication> <authorization></authorization> <browserCaps></browserCaps> <clientTarget></clientTarget> <compilation></compilation> <customErrors></customErrors> <globalization></globalization> <httpHandlers></httpHandlers> <httpRuntime></httpRuntime> <identity> <machineKey> <pages> <processModel> <securityPolicy> <sessionState> <trace> <trust> <webServices></webServices> </system.web> <appSettings></appSettings> // 개발자가 임의의 설정 데이터를 지정할 수 있다 </location> </configuration> |
<location>
<location path=”path” allowOverride=”true | false”></location>
다음 섹션 구성은 <system.web> 섹션의 모든 설정이 Default.aspx 페이지에만 적용되도록 한다.
<configuration>
<location path=”Default.aspx”>
<system.web>
…
</system.web>
</configuration>
<system.web>
ASP.NET 웹 응용 프로그램의 설정 데이터를 구성하기 위한 루트 노드
하위
<authentication>
이 섹션은 ASP.NET 웹 응용 프로그램의 인증 모드를 지정하기 위한 섹션이다. 이 섹션은 웹 응용 프로그램 또는 서버 시스템 레벨에서만 설정할 수 있으며 웹 응용 프로그램을 구성하는 하위 폴더에서 지정하려 하면 파서 오류가 발생한다
<authentication mode=”Windows | Forms | Passport | None”></authentication>
<form>
<authentication> 섹션의 mode 특성이 Forms 모드로 지정되어 ASP.NET 폼 기반 인증 방식이 지정되었을 경우 <forms> 하위 섹션을 통해 보다 세밀한 제어가 가능
<forms name=”form_name” login_url=”url” protection=”All | None | Encryption | Validation” timeout=”30” path=”/” requireSSL=”true | false” slidingExpiration=”true | false”>
<credentials passwordFormat=”clean | SHA1 | MD5”>
<user name=”user_name” password=”password”></user>
</credentials>
</forms>
<credentials>
특정 사용자의 ID와 비밀 번호를 정의하기 위해
<users>
사용자의 ID와 비밀번호를 지정할 수 있다
- 웹 응용 프로그램에 forms 인증 모드를 적용하고 1명의 사용자에 대해 로그인 자격을 암호화 하여 지정한다
<configuration>
<system.web>
<authentication mode=”Forms”>
<forms name=”form1” loginUrl=”/Login.aspx”>
<credentials passwordFormat=”MD5”>
<user name=”admin”
password=”admin_password”>
</user>
</credentials>
</authentication>
</system.web>
</configuration>
'옛글 > 윈도우 이야기' 카테고리의 다른 글
윈도우 고정 IP 설정하기!! (0) | 2011.07.27 |
---|---|
윈도우 7 & 윈도우 서버 2008 R2 서비스팩1 설치하세요! (0) | 2011.06.22 |
윈도우 vista 설치 과정 및 IP 설정방법 & 업데이트 (0) | 2011.02.26 |
윈도우 7 설치 과정 및 IP 설정방법 & 업데이트 (0) | 2011.02.26 |
윈도우 서버 2008 설정 및 최적화 기본 (0) | 2011.01.20 |