windows 2016 IIS 서버 구축

2020. 9. 4. 19:25웹사이트 제작

서버 관리자 검색 후 들어가면 된다.

 

역할 및 기능 추가를 선택하면 된다.

다음으로

 

다음으로

다음으로

기능 추가를 해주면 된다.

 

다음으로

 

IIS 서비스 구성요소에 대해서 간단하게 알아보도록 하자.

 

보안 

요청 필터링 : IIS를 사용할 떄 특정 파일이나 특정 폴더를 접근하지 못하게 설정하여야 할 경우인데, 예를 들어 tomcat과 연동했을떄 WEB-INF라는 폴더를 접근하지 못하게 할떄 요청 필터링을 사용할 수 있다.

IP 및 도메인 제한 :지정된 IP Address (또는 대역)와 도메인 이름에 대해서 웹 서버 접근을 허용하거나 거부할 수 있음 

URL 권한 부여 :  url 권한 부여를 사용하면 웹 콘텐츠에 대한 액세스를 제한하는 규칙을 만들 수 있다. URL 권한 부여 규칙을 구성하여 특정 그룹의 구성원이 아닌 사람은 콘텐츠에 액세스하거나 웹 페이지와 상호 작용하지 못하게 할 수 있음

 

IIS 인증에 관한 사항들은 아래 URL에서 자세히 볼 수 있다.

https://support.microsoft.com/ko-kr/help/308160/how-to-configure-internet-information-services-web-authentication-in-w 

 

https://support.microsoft.com/ko-kr/help/308160/how-to-configure-internet-information-services-web-authentication-in-w

쿠키가 사용되고 있지 않습니다. 쿠키를 사용하고 페이지를 새로 고치세요.

support.microsoft.com

 

 

상태 및 진단

HTTP 로깅 : HTTP 요청과 오류에 대한 정보를 기록하는 것을 로깅이라고 하는며 IIS 구축 시 필수적으로 있어야한다.그래야지 사이트 개발시 오류가 발생하는지 로그를 보고 여부도 알 수 있고, 누가 사이트에 접속했는지 여부도 알 수 있다.
ODBC 로깅 :  데이터베이스의 로그를 남기는 것이라고 생각하면 된다.
로깅 도구 :   웹 서버 로그를 관리해주고 일반 로깅 작업을 자동화해주는 인프라를 제공한다
사용자 지정 로깅 :   사용자가 IIS 로그 파일 말고 별도의 로그 파일을 만들 수 있게 해주는 것
요청 모니터 :  HTTP에 대한 요청 상태를 캡처해서 프로세스가 응답하지 않거나 느릴 떄 실행중인 HTTP 요청을 확인함
추적 : 웹 응용 프로그램을 진단하고 문제를 해결해 주는 인프라를 제공해준다.

 

성능
정적 콘텐츠 압축 :  정적 압축의 목적은 하드 드라이브 (Css / images / javascript)에서 직접 제공되는 파일을 압축하는 것이므로 각 파일을 한 번 압축하고 압축 된 파일을 디스크에 저장합니다. 이를 통해 자주 변경되지 않는 정적 파일에 대해 압축 된 콘텐츠를 매우 빠르고 저렴하게 제공 할 수 있습니다. 대부분의 웹 사이트에서 정적 압축을 활성화해야한다고 말하는 것은 매우 안전한 권장 사항입니다.
동적 콘텐츠 압축 :동적 압축의 목적은 ISS 모듈 (asp, asp.net, php 등)에서 동적 응답을 압축하는 것입니다. 이 응답은 각 요청마다 다를 수 있으므로 압축 된 출력을 캐시 할 수 없습니다.

 

일반적인 HTTP 기능
HTTP 오류 : HTTP 오류 발생 시 사용자에게 오류 메시지를 보여주고 사용자가 브라우저에 보여주는 오류 메시지를 지정할 수 있다.
기본 문서 : 웹 서버 이용자가 url에 아무런 정보도 없이 입력할 경우 기본 문서 즉 index.html 같은 것을 브라우저에 보여주는 기능이다.
디렉터리 검색 : 웹 접속 시 해당 url에 접속한 곳에 문서나 파일이 아무것도 없을 경우에 403 에러가 발생하지만,디렉터리 검색을 사용하게 되면 해당 디렉터리의 내용을 보여준다. 하지만 디렉토리 리스팅 취약점으로 연결되기 떄문에 사용하지 않는 것이 바람직하다.정적 콘텐츠 :  정적 콘텐츠를 사용하여 웹서버는 html 페이지와 이미지파일 같은 정적 웹 파일 형식을 게시해서 볼 수 있다.
HTTP 리디렉션 : 원래 접속한 URL주소를 새로운 다른 주소로 자동으로 연결해주는 기능이다. 이러한 기능들을 이용하여 여러개의 도메인을 보유하고 있는 경우에 하나의 사이트로 접속하게끔 만들 수 있다.
webDAV 게시 : 웹상의 공동개발을 지원하기 위해 원격지 사용자들 간에 인터넷상에서 파일을 공동 편집하고 관리 할 수 있도록 해주는 기능이다. 2012 이전 버전에는 취약점들이 존재한다.

 


응용 프로그램 개발

.NET 확장성 3.5 : ASP.NET 확장성 모델과 다양한 .NET API를 사용하여 웹서버 기능을 개발 할수 있다

.NET 확장성 4.6 : ASP.NET 확장성 모델과 다양한 .NET API를 사용하여 웹서버 기능을 개발 할수 있다

ASP : 웹 사이트 및 웹 응용 프로그램을 개발하기 위한 서버 쪽 언어

ASP.NET 3.5 : 웹 사이트 및 웹 응용 프로그램을 개발하기 위한 서버 쪽 객체 지향 프로그래밍 환경 제공

ASP.NET 4.6 : 웹 사이트 및 웹 응용 프로그램을 개발하기 위한 서버 쪽 객체 지향 프로그래밍 환경 제공

CGI : CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말하는데, 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 PHP,JSP,ASP 같은 언어들로 구현할 수 있다.ISAP 필터 : ISAPI 확장을 사용한 동정 웹 콘텐츠 지원
ISAPI 확장 : ISAPI 확장을 사용한 동적 웹 콘텐츠 지원

ISAPI 필터 : 필터를 사용하는 웹 응용 프로그램을 지원한며, 보통 보안관련 부분의 SQL Injection, xss의 필터를 적용함

SSI(Server Side Include) :  SSI 는 서버가 생성한 혹은 저장된 HTML 파일을 사용자에게 보내기 직전에 포함할 수 있는 변수값을 치환하는 것을 이야기한다.SSI 문서는 다이나믹한 페이지를 만들 수 있다는 장점이 있지만, 파싱을 해야 하기 때문에 서버의 성능을 떨어뜨릴 수 있고, 보안 측면에서 익명 사용자가 nobody 권한으로 서버측 프로그램을 수행시킬 수 있다는 위험성도 있다.

WebSocket 프로토콜 : websocket 프로토콜을 사용할 수 있게 해준다.
응용프로그램 초기화 : ASP.NET은 웹 사이트 처음 접속시 딜레이 현상이 있는데, 그 이유는 HTTP 요청시 IIS가 상당히

많은 일을 하기 떄문인데, 그러한 것들을 도와주는 옵션이다.

 

ISAPI의 뜻은 CGI 보다 더 빠르게 실행되는 웹서버 프로그램을 작성할 수 있도록 해주는 일련의 윈도우 프로그램 호출임

 

FTP 서버
FTP 서비스 : FTP 서비스를 가능하게 해준다.
FTP 확장성 :  FTP 확장성 기능을 제공해 주는 옵션이다.

 

관리 도구
IIS 관리 콘솔 : 사용자 인터페이스를 사용하여 IIS를 관리하기 위한 인프라를 제공해준다.
IIS 6 관리 호한성 : IIS 6의 스크립트를 사용해서 IIS 10을 사용할 수 있도록 해준다.
IIS 관리 스크립트 및 도구 : IIS를 스크립트를 사용해서 관리할 수 있도록 지원해준다.
관리 서비스 : IIS 관리자를 사용해서 다른 컴퓨터에서 원격으로 관리할 수 있게 해준다.

 

 

 

 

설치를 누르면 된다.

 

성공적으로 설치가 완료되었다.

 

IIS관리자를 선택하면 된다.

 

IIS를 사용해서 웹 사이트를 구축하는 것은 다음에 따로 살펴볼 예정이다.