IIS connection limit windows server 2008/2012 

 

오류 메시지

IIS의 최대 동시 접속자수 초과시 다음과 같은 오류가 발생된다.

 

 

오류 메시지 : Too many connections

  액세스 금지. 연결된 사용자가 너무 많습니다. 403.9

  Access Forbidden: Too Many Users Are Connected 403.9

 

하지만 IIS 버전이 7.0 이상(Windows 2008)이 되면서 IIS 최대 동시 접속자의 임계치가 무제한이 되었는데(기본값)

 

확인 방법은 아래와 같다.

Windows Server 2008 or Windows Server 2008 R2 한글 OS 기준

1. 시작 -> 관리도구 -> IIS(인터넷 정보 서비스) 관리자 실행

 

2. 변경할 사이트 선택 후 오른쪽 패널에 고급 설정 클릭

 

 

 

 

3. 고급설정에 연결제한 목록 확장 후 최대 동시연결 값 확인

 

 

   기본적으로 최대 동시 연결 값은 기본값인 4294967295 이다.

 

 

 

 

4. 설정을 변경하고 싶으면 값을 수정 하고 확인을 누른다.

 

 

5. 적용을 위해서 별도의 서비스 재시작은 필요 없다.

 

Windows Server 2008 or Windows Server 2008 R2 영문 OS 기준 

1. Start -> Administrative Tools ->  Internet Information Services (IIS) Manager. 이동

 

2. Connections 탭에서 변경할 사이트 선택 Actions pane에서 Advanced Settings 클릭

 

 

 

3. Connection Limits 항목의 Maximum Concurrent Connections 확인 수정

   maxConnections 기본값 : 4294967295

 

 

 

4. 설정을 변경하고 싶으면 값을 수정 하고 OK 을 누른다.

5. 적용을 위해서 별도의 서비스 재시작은 필요 없다.

 

Windows Server 2012 R2 한국어 버전 기준

Windows 2012의 경우 Windows 2008과 설정 및 확인 방법이 동일하다.

 

 


 

 

 

 

 

 

 

 

 

오류 메시지

There was an error while performing this operation. Details: Bad data (Exception from HRESULT: 0x80090005)

 

 

오류 발생 증상 및 시점

A서버의 설정(iis)을  백업을  B서버에 복원할경우 B서버에서 위와 같은 현상이 발생됨

 

증상으로는 IIS 설정 저장시  Bad data 오류 발생 또는 설정 저장 완료가 되었으나 실제 설정 값이 변경되지 않으며

 

주로 사용자 인증관련 설정시 발생함

 

해결방법

■  IIS 설정을 백업백업한 최초의 서버(기존서버)에서 작업

 

아래의 명령어를 통해 설정 값을 C:\ 경로로 내보내기 한다

 

aspnet_regiis -px "iisConfigurationKey" "c:\iisConfigurationKey.xml" -pri
aspnet_regiis -px "iisWasKey" "c:\exportedWASKey.xml" -pri

 

 

 

 

■ 신규서버(문제가 발생한 서버)에서 작업

 

원서버에서 가져온 설정 파일을 C:\에 업로드 한 뒤에 아래처럼 명령어 실행

 

aspnet_regiis -pi "iisConfigurationKey" "c:\iisConfigurationKey.xml"
aspnet_regiis -pi "iisWasKey" "c:\exportedWASKey.xml"

 

복원 후 서비스 재시작이 필요하다

 

 

 


 

 

 

 

 

 

 

 

 

IIS 7/7.5 웹사이트, 응용프로그램 풀 백업 및 복원

 

주의 사항

대상 : IIS 7.0 / IIS 7.5


공통사항 :  웹사이트, 응용프로그램 풀은 동일한 이름이 있을경우 덮어쓰지 않고 SKIP 후 종료 됨

  
              따라서 중복되는 사이트 명 또는 응용프로그램 풀 이름이 있다면 이름을 변경하고 복원

1. 응용프로그램 풀 전체 내보내기

명령어 : %windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml


동일한 응용프그램 풀이 존재할 경우 덮어쓰지 않고 작업이 종료됨

2. 응용프로그램 풀 전체 가져오기

명령어 : %windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml

 

전체 백업 복원시 아래의 3개의 풀이 신규 서버에 기본적으로 존재하므로 백업받은 apppools.xml 파일에서 삭제하거나
복원할 서버의 응용프로그램 풀에서 삭제


DefaultAppPool
Classic .NET AppPool
SecurityTokenServiceApplicationPool

 

 

3. 모든 웹사이트 설정 내보내기

명령어 : %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml

4. 모든 웹사이트 설정 가져오기

명령어 : %windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml

 

전체 백업 복원시 웹사이트의 기본 웹사이트가 존재하므로 백업받은 sites.xml 파일에서 삭제하거나
복원할 서버의 사이트에서 기본 웹사이트(Default Website) 삭제

 


Default Website

5. 특정 응용프로그램 풀 설정 내보내기

명령어 : %windir%\system32\inetsrv\appcmd list apppool “MyAppPool” /config /xml > c:\myapppool.xml

6. 특정 응용프로그램 풀 설정 가져오기

명령어 : %windir%\system32\inetsrv\appcmd add apppool /in < c:\myapppool.xml

7. 특정 웹사이트 설정 내보내기

명령어 : %windir%\system32\inetsrv\appcmd list site “MyWebsite” /config /xml > c:\mywebsite.xml

8. 특정 웹사이트 설정 가져오기

명령어 : %windir%\system32\inetsrv\appcmd add site /in < c:\mywebsite.xml

관련 정보

명령어 상세

 

 

 

출처 : http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5&/


참고 : http://technet.microsoft.com/ko-kr/library/cc772200(v=ws.10).aspx


 

 

 

 

 

 


 

 


 DEXTUploadX, DEXTUpload .NET 제품키 및 시리얼 번호 확인방법


 

서버에 설치된 DEXTUpload 제품군의 제품키와 시리얼 번호를 확인하는 방법 입니다.

 


확인 가능 제품군


DEXTUploadX

DEXTUpload Pro

DEXTUpload .NET Pro



 

경로 : 내 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\DEVPIA\설치 제품군 

          (위 켑처에서는 DEXTUpload .NET Pro)


내용중 PID는 제품키를, SN은 시리얼 번호를 뜻한다. 




 



 

 

DextUpload 제품군 설치버전 확인 방법

 

DextUpload.NET

C:\Windows\Assemble 경로로 이동 후 Dextupload.net 파일을 찾아보면 옆에 설치된 버전이 표시 된다.




DextUploadX

DEXTUploadX의 버전확인 방법은 C:\Program Files\DEVPIA\DEXTUploadX\Bin(기본 설치 경로) 로 이동후에

DextuploadX.cab 케비넷 파일을 해제 한다. (알집 이런걸로 해제가 가능함)



압축이 해제 되면 Dextupload.dll 파일의 등록정보 중 자세히 항목을 클릭하면 설치된 파일 버전 확인이 가능하다.


 

DEXTUpload Professional


DEXTUpload Pro 버전은 설치된 경로로 이동후 (기본경로 : C:\Program Files\DEVPIA\DEXTUpload Professional\Bin) 


DextUpload.dll 파일의 등록정보 - 자세히 항목을 확인

 



 




 


 

 

 

 

Windows 2008 IIS 7.0에서의 FTP 7.5 사용하기

 

소개

아래의 IIS 7.5의 경우 Windows 2008,, Windows 7 에 설치된 IIS 7.0에서 FTP 만 7.5로 추가설치하여 사용하는 방법입니다.

 

Windows 2008 R2의 경우 기본적으로 IIS 7.5버전이므로 프로그램을 추가하실 필요가 없습니다.

FTP 7.0에 비해 개선된 사항들

통합 FTP 관리 및 웹 사이트에 대한 IIS 7.0 관리자와 완벽한 통합

 

UTF8 및 IPv6을 통해 FTP(SFTP) 지원

 

표준 IIS 명령 줄 및 스크립팅 도구, AppCmd, IIS PowerShell ProviderHost를 사용하여 FTP 설정 관리 가능

 

기존 사이트에 FTP 바인딩을 추가하여 웹컨텐츠 및 FTP 동시 사용

 

동일한 IP 주소에서 다중의 가상 호스트 지원

 

향상된 가상 디렉터리 탐색

 

사용자 별 가상 디렉터리를 통해 향상된 사용자 격리

 

FTP 세션에 대한 추적, FTP 하위 상태, FTP 로그 세부 로그 추가 및 기능 개선

 

서버 측 문제 해결을 위한 최종 사용자 및 이벤트에 대한 자세한 오류 메시지

 

다운로드

다운로드(영문) : / x86 / x64

 

출처 : http://www.iis.net/downloads/microsoft/ftp

 

 

 

 

 

 

[IIS 7.0/7.5/8.0] Http / Https 사이의 세션 공유 방법

 

 

HTTP 세션에서 HTTP로의 인증시 신규로 세션이 생성되는데, 신규 세션이 아닌 기존(Http)세션 정보를 Https 세션으로 공유하여 사용하는 방법을 소개 하고자 한다.

 

Http/Https 세션 공유 방법

적용대상 : IIS 7.0, IIS 7.5, IIS 8.0

MS 참고 문서 : http://technet.microsoft.com/ko-kr/library/hh831808.aspx

 

1. 인터넷 관리자(inetmgr) 접속한뒤에 공유할 웹사이트를 선택 후 IIS 항목의 ASP 를 선택한다.

 

 

2. ASP 상세 속성 페이지에서 세션속성 보안연결의새ID  false로 변경해주면 된다.

 

참고

True(기본값): 비보안(http) 연결에서 보안(https) 연결로 전환될 때 새 쿠키를 생성함
False : 비보안(http) 연결에서 보안(https) 연결로 전환될 때 기존 쿠키 유지함


 

 

IIS 7.0/7.5 다운로드, 업로드 용량 변경

 

 

1. 개요

IIS 7.0/7.5에서의 다운로드, 업로드 용량 변경은 다음과 같다.

 

%windir%\system32\inetsrv\config\ 경로로 이동

그러면 아래 이미지의 파일이 존재 applicationhost.config 파일만을 Notepad로 열어 편집한다.

 

2. applicationhost.config 파일 편집

 <location path="hosts.tistory.com">
<system.webServer>
<asp>
<limits bufferingLimit="10240000" maxRequestEntityAllowed="10240000" />
</asp>
</system.webServer>
</location>

 

 

붉은색 hosts.tisory.com의 경우 웹사이트 이름이며

 

파란색 10240000 값은 다운로드 크기(10MB)이며, 초록색 10240000 값은 업로드 크기를 지정합니다. (10MB)

 

환경파일의 위 세군대의 값만을 수정하고, 해당 내용이 없을 경우 위의 7줄을 전부 추가한다.

3. 변경 사항 적용 

변경된 다운로드/업로드 크기 변경을 위해서 IIS 서비스를 재시작한다.

 

c:\windows>iisreset 명령어 실행해도 동일하다.

 


 

 

아래의 웹사이트 로딩속도를 확인하는 사이트

사이트의 로딩속도 뿐아니라 Dns 및 Ping , Tracert 등을 확인 가능하다.

단 해당 사이트의 속도는 국내에서 테스트를 하는게 아니라 미국에서 국제망을 통해 확인을 하는지라

국내에서 테스트 하는것보다는 응답속도가 늦을 수 있음

 

 

테스트로 본블로그의 로딩속도를 확인한결과는 아래와 같다.

 

 

 

 


 

 

지난번 IIS 7.0에서 appcmd로의 백업 및 복원을 진행하였는데 이번에는 GUI 형태의 백업 및 복원을 소개 하고자 한다.

 

이후의 글은 아래의 블로그를 참고로 작성되었으며 원문을 보고 싶다면 아래의 URL을 참고하십시오.

 

 

 

■ 관련 문서

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112

IIS 7.0 백업 및 복원 방법 GUI(IIS7 Backup Restore UI) : http://hosts.tistory.com/115

 

 

 

1. 사전준비 사항

IIS 7.0에서는 기본적으로 GUI에서 백업 및 복원을 지원하지 않는다.

GUI에서 메뉴를 표시하기 위해서는 아래의 어셈블리를 다운로드 후 C:\windows\assembly에 복사하여 넣는다.

 

IIS7BackupRestoreUI.zip

 

위 파일을 압축 해제 후 C:\windows\assembly 에 드래그 하면 간단히 적용이 된다.

 

 

 

 

 

2. Administration.config 파일 편집

아래의 경로의 파일을 notepad 또는 문서 편집기로 연다.

 

notepad %WinDir%\System32\InetSrv\config\Administration.config

 

 

 

 

3. Administration.config 파일의 <moduleProviders> 부분 추가

파일 내용중 <moduleProviders> 부분을 검색하여 아래 부분의 다음의 내용을 입력한다.

 

<add name="IIS7BackupRestoreUI" type="IIS7BackupRestoreUI.MyModuleProvider, IIS7BackupRestoreUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db9daa3d2ea5f6fd" />

 

 

 

 

4. Administration.config 파일의 <moduleProviders> 부분 추가

문서내 <modules> 을 검색한 후 아래의 내용을 추가한다.

 

<add name="IIS7BackupRestoreUI" />

 

 

5. 인터넷 정보 서비스(inetmgr) 확인

IIS 관리자를 다시 열어보면 Backup Restore 항목이 새롭게 추가됨을 볼수 있다.

 

 

 

6. 인터넷 정보 서비스(inetmgr) 확인

리스트버튼을 누르면 기존의 백업 내용에 대해 확인이 가능하며 새롭게 생성할수도 있다.

 

 

다음에는..?

 

■ 관련 문서

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112

IIS 7.0 백업 및 복원 방법 GUI(IIS7 Backup Restore UI) : http://hosts.tistory.com/115

 

  1. 익명 2012.06.28 14:44 신고

    잘 보고 가요

  2. 가가 2012.06.30 22:20 신고

    잘 읽고 갑니다

  3. 가가 2012.06.30 22:20 신고

    잘 읽고 갑니다

  4. 궁금해요 2012.07.19 16:27 신고

    이런 질문을 드려도 되나 모르겠는데... 제가 지금 2003 서버에 IIS6 로 사이트를 운영중인데요... 물론 사이트가 좀 많습니다. 근데 이번에 서버를 2008로 올리면서 IIS7으로 마이그레이션 작업을 해야하는데 쉽지가 않네요 혹시 아는 방법이 있으신가해서 이렇게 글을 올려봅니다.

    • 바닷고래 2012.07.19 22:11 신고

      예전에 저도 동일한 고민을 하였는데.. ^^;

      1서버당 약 20개정도의 웹사이트를 포함하고 있었고 SSL인증서와 Com+ 모듈, 그외 컴파일된 DLL(.net)등 연동된 서버를 IIS 6.0에서 7.0으로 마이그레이션을진행하였습니다.(web deploy 통해서)

      결론부터 말하자면 잘안됬습니다.ㅡㅡ
      그래서 일일히 다시 설정하고 했던 기억이 있내요.
      하지만 아래의 사이트 참고하시면 도움이 될거에요.

      http://learn.iis.net/page.aspx/427/migrate-a-web-site-from-iis-60-to-iis-7-or-above/

      테스트 했을때 위방법대로 하면 간단한 웹사이트들은 마이그레이션이 잘되는것 같은데.. .net으로 개발된 웹사이트 일부는 정상적으로 마이그레이션이 되지 않았습니다.

  5. 감사합니다 2013.06.10 13:35 신고

    좋은글 보고갑니다.

    감사합니다.

FTP 7.5 설정하고 접속하였더니 아래와 같은 메시지가 출력되었다.

 

200 EPRT command successful.
550-Keyset does not exist
Win32 error: Keyset does not exist
Error details: Invalid configuration.
550 End

 

중요한건 아무리 설정 정보를 봐도 잘못된 사항이 없었던것.

그래도 다시 설정하면서 하나 하나 테스트를 진행하였다. 그러다 발견한점은

FTP에 가상디렉토리를 3개 이상 구성하면 위와 같은 메시지가 출력된다.

 

본인의 경우 UNC경로의 가상디렉토리를 FTP에 3개 연결하여 구성하였다.

2개까지는 아무런 메시지 없이 정상이 잘되는데...

 

 

해결책

해결책은 간단하다 아래의 폴더에 FTP 사용할 사용자 이름을 폴더권을 추가하면 된다.(기본권한 읽기)

 

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

 

나중에 MS 사이트에서 정확한 원인을 찾아봐야겠다.

FTP Status Code 모음

 

 

1xx - 긍정적인 예비 회신

이 상태 코드는 동작이 시작되었지만 클라이언트가 새 명령을 계속 수행하기 전에 다른 회신을 기대한다는 것을 나타냅니다.

  • 110 마커 회신을 다시 시작합니다.
  • 120 nnn분 내에 서비스가 준비됩니다.
  • 125 데이터 연결이 이미 열려 있고 전송을 다시 시작합니다.
  • 150 파일 상태에 문제가 없으며 지금 데이터 연결을 열려고 합니다.

 

2xx - 긍정적인 완료 회신

동작이 완료되었습니다. 클라이언트가 새 명령을 실행할 수 있습니다.

  • 200 명령에 문제가 없습니다.
  • 202 명령이 구현되지 않으며 이 사이트에 불필요합니다.
  • 211 시스템 상태 또는 시스템 도움말 회신
  • 212 디렉터리 상태
  • 213 파일 상태
  • 214 도움말 메시지
  • 215 NAME 시스템 형식. 여기서 NAME은 지정된 번호(Assigned Numbers) 문서 목록의 공식 시스템 이름입니다.
  • 220 새 사용자에게 서비스가 준비되었습니다.
  • 221 서비스가 컨트롤 연결을 닫습니다. 필요한 경우 로그아웃됩니다.
  • 225 데이터 연결을 열지만 전송하지 않습니다.
  • 226 데이터 연결을 닫습니다. 요청된 파일 동작에 성공했습니다(예: 파일 전송 또는 파일 중단).
  • 227 Passive 모드 입력(h1,h2,h3,h4,p1,p2)
  • 230 사용자가 로그인하여 진행합니다.
  • 250 요청된 파일 동작이 문제 없이 완료되었습니다.
  • 257 "PATHNAME"이 만들어졌습니다.

 

3xx - 긍정적인 중간 회신

명령이 성공했지만 서버에는 요청을 처리하는 데 클라이언트의 추가 정보가 필요합니다.

  • 331 사용자 이름에 문제가 없으며 암호가 필요합니다.
  • 332 로그인을 위해 계정이 필요합니다.
  • 350 좀더 자세한 정보를 보류 중인 요청된 파일 동작입니다.

 

4xx - 일시적인 부정적 완료 회신

명령이 성공하지 못했지만 오류는 일시적입니다. 클라이언트가 명령을 다시 시도하면 성공할 수도 있습니다.

  • 421 서비스를 사용할 수 없으며 컨트롤 연결을 닫습니다. 이것은 서비스가 프로그램을 종료해야 함을 아는 경우 명령에 대한 응답이 될 수 있습니다.
  • 425 데이터 연결을 열 수 없습니다.
  • 426 연결이 닫히고 전송이 중단됩니다.
  • 450 요청된 파일 동작이 수행되지 않았습니다. 파일을 사용할 수 없습니다(예: 파일 사용 중).
  • 451 요청된 동작이 중단되었습니다. 처리 중 로컬 오류가 발생했습니다.
  • 452 요청된 동작이 수행되지 않았습니다. 시스템의 저장 공간이 부족합니다.

 

5xx - 영구적인 부정적 완료 회신

명령이 성공하지 못했으며 오류는 영구적입니다. 클라이언트가 명령을 다시 시도하면 같은 오류가 나타납니다.

  • 500 구문 오류, 명령을 인식할 수 없습니다. 여기에는 명령줄이 너무 긴 경우와 같은 오류가 포함됩니다.
  • 501 매개 변수 또는 인수의 구문 오류입니다.
  • 502 명령이 구현되지 않았습니다.
  • 503 명령 순서가 잘못되었습니다.
  • 504 해당 매개 변수에 대해 명령이 구현되지 않았습니다.
  • 530 로그인되지 않았습니다.
  • 532 파일을 저장하는 데 계정이 필요합니다.
  • 550 요청된 동작이 수행되지 않았습니다. 파일을 사용할 수 없습니다(예: 파일 없음. 액세스 못함).
  • 551 요청된 동작이 중단되었습니다. 페이지 형식을 알 수 없습니다.
  • 552 요청된 파일 동작이 중단되었습니다. 현재 디렉터리 또는 데이터 집합에 대해 저장소 할당이 초과되었습니다.
  • 553 요청된 동작이 수행되지 않았습니다. 파일 이름을 허용할 수 없습니다.

 

일반 FTP 상태 코드와 그 원인

 

  • 150 - FTP는 두 가지 포트를 사용합니다. 즉, 명령을 보내는 경우에는 21을 사용하고 데이터를 보내는 경우에는 20을 사용합니다. 상태 코드 150은 서버가 포트 20에서 새 연결을 열어 데이터를 보내려고 한다는 것을 나타냅니다.
  • 226 - 이 명령은 포트 20에서 데이터 연결을 열어 파일 전송과 같은 동작을 수행합니다. 이 동작이 완료되고 데이터 연결이 닫힙니다.
  • 230 - 이 상태 코드는 클라이언트가 올바른 암호를 보낸 후에 나타납니다. 사용자가 로그온되었음을 나타냅니다.

 

  • 331 - 클라이언트가 사용자 이름을 보낸 후에 이 상태 코드가 나타납니다. 이 동일한 상태 코드는 제공된 사용자 이름이 시스템의 올바른 계정인지 여부에 관계 없이 나타납니다.

 

  • 426 - 이 명령은 데이터 연결을 열어 동작을 수행하지만 이 동작이 취소되고 데이터 연결이 닫힙니다.

 

  • 530 - 이 상태 코드는 사용자 이름과 암호 조합이 유효하지 않으므로 사용자가 로그온할 수 없음을 나타냅니다. 사용자 계정을 사용하여 로그온하는 경우 사용자 이름 또는 암호를 잘못 입력했거나 익명 액세스만 허용하도록 선택했을 수 있습니다. 익명 계정으로 로그온하는 경우 IIS가 익명 액세스를 거부하도록 구성되었을 수도 있습니다.

 

  • 550 - 이 명령은 지정된 파일을 사용할 수 없으므로 실행되지 않습니다. 예를 들어 이 상태 코드는 존재하지 않는 파일을 가져오려고(GET) 하거나 쓰기 액세스 권한이 없는 디렉터리에 파일을 두려고(PUT) 하는 경우에 발생합니다

HTTP Status Code 모음

 

 

 

요청 메시지

 

클라이언트가 서버에게 보내는 요청 메시지는 다음을 포함한다

 

요청 내용

 
보기) GET /images/logo.gif HTTP/1.1

 

헤더

 
보기) Accept-Language: en

 

빈 줄 (empty line)

 

기타 메시지를 포함하여 표시된다

 

 

요청 방법

요청 내용에 포함되는 요청 방법으로는 아래의 8가지가 있다.

HEAD
GET과 같은 요청이지만, 자료에 대한 정보(meta-information)만을 받는다.
GET
URL에 해당하는 자료의 전송을 요청한다.
POST
서버가 처리할 수 있는 자료를 보낸다.
PUT
해당 URL에 자료를 저장한다.
DELETE
해당 URL의 자료를 삭제한다.
TRACE
이전에 요청한 내용을 들을 것을 요청한다.
OPTIONS
서버가 특정 URL에 대해 어떠한 HTTP Method를 지원하는지 묻는다.
CONNECT
프록시가 사용하는 요청.

오류 코드

  

클라이언트가 서버에 접속하여 어떠한 요청을 하면, 서버는 세 자리 수로 된 오류 코드와 함께 응답한다. HTTP의 오류 코드는 다음과 같다.

코드 메시지 설명
1XX Informational(정보) 정보 교환.
100 Continue 클라이언트로부터 일부 요청을 받았으니 나머지 요청 정보를 계속 보내주길 바람. (HTTP 1.1에서 처음 등장)
101 Switching Protocols 서버는 클라이언트의 요청대로 Upgrade 헤더를 따라 다른 프로토콜로 바꿀 것임. (HTTP 1.1에서 처음 등장)
2XX Success(성공) 데이터 전송이 성공적으로 이루어졌거나, 이해되었거나, 수락되었음.
200 OK 오류 없이 전송 성공.
202 Accepted 서버가 클라이언트의 요청을 수락함.
203 Non-authoritavive Information 서버가 클라이언트 요구중 일부만 전송.
204 Non Content 클라이언트의 요구를 처리했으나 전송할 데이터가 없음.
205 Reset Content 새 문서 없음. 하지만 브라우저는 문서 창을 리셋해야 함. (브라우저가 CGI 폼 필드를 전부 지우도록 할 때 사용됨.) (HTTP 1.1에서 처음 등장)
206 Partial Content 클라이언트가 Range 헤더와 함께 요청의 일부분을 보냈고 서버는 이를 수행했음. (HTTP 1.1에서 처음 등장)
3XX

Redirection

(방향 바꿈)

자료의 위치가 바뀌었음.
300 Multiple Choices 최근에 옮겨진 데이터를 요청.
301 Moved Permanently 요구한 데이터를 변경된 URL에서 찾았음.
302 Moved Permanently 요구한 데이터가 변경된 URL에 있음을 명시. 301과 비슷하지만 새 URL은 임시 저장 장소로 해석됨.

[1]

303 See Other 요구한 데이터를 변경하지 않았기 때문에 문제가 있음.
304 Not modified 클라이언트의 캐시에 이 문서가 저장되었고 선택적인 요청에 의해 수행됨 (보통 지정된 날짜보다 더 나중의 문서만을 보여주도록 하는 If-Modified-Since 헤더의 경우). [2]
305 Use Proxy 요청된 문서는 Location 헤더에 나열된 프록시를 통해 추출되어야 함. (HTTP 1.1에서 처음 등장)
307 Temporary Redirect 자료가 임시적으로 옮겨짐.
4XX

Client Error

(클라이언트 오류)

클라이언트 측의 오류. 주소를 잘못 입력하였거나 요청이 잘못 되었음.
400 Bad Request 요청 실패. 문법상 오류가 있어서 서버가 요청사항을 이해하지 못함, [3]
401.1 Unauthorized 권한 없음 (접속실패). 서버에 로그온 하려는 요청사항이 서버에 들어있는 권한과 비교했을 때 맞지 않음. [4]
401.2 Unauthorized 권한 없음 (서버설정으로 인한 접속 실패). 서버에 로그온 하려는 요청사항이 서버에 들어있는 권한과 비교했을 때 맞지않음. [5]
401.3 Unauthorized 권한 없음 (자원에 대한 ACL에 기인한 권한 없음). 클라이언트가 특정 자료에 접근할 수 없음. [6]
401.4 Unauthorized 권한 없음 (필터에 의한 권한 부여 실패). 서버에 접속하는 사용자들을 확인하기 위해 설치한 필터 프로그램이 있음. [7]
401.5 Unauthorized 권한 없음 (ISA PI/CGI 애플리케이션에 의한 권한부여 실패). 이용하려는 서버의 주소에 ISA PI나 CGI프로그램이 설치되어 있고, 권한을 부여할 수 없음. [8]
402 Payment Required 예약됨.
403.1 Forbidden 금지 (수행접근 금지). 수행시키지 못하도록 되어있는 디렉터리 내의 실행 파일을 수행하려고 하였음.
403.2 Forbidden 금지 (읽기 접근 금지). 접근한 디렉터리에 가용한 기본 페이지가 없음. [9]
403.4 Forbidden 금지 (SSL 필요함). 접근하려는 페이지가 SSL로 보안유지 되고 있음. [10]
403.5 Forbidden 금지 (SSL 128필요함). 페이지가 128비트의 SSL로 보안유지 되고 있음. [11]
403.6 Forbidden 금지 (IP 주소 거부됨). 사용자가 허용되지 않은 IP로부터 접근함.
403.7 Forbidden 금지 (클라이언트 확인 필요). 클라이언트가 자료에 접근할 수 있는지 확인 요함. [12]
403.8 Forbidden 금지 (사이트 접근 거부됨). 서버가 요청사항을 수행하고 있지 않거나, 해당 사이트에 접근하는 것이 허락되지 않음.
403.9 Forbidden 접근금지 (연결된 사용자수 과다). 서버가 BUSY 상태에 있어서 요청을 수행할 수 없음.
403.10 Forbidden 접근금지 (설정이 확실 하지 않음).
403.11 Forbidden 접근금지 (패스워드 변경됨). 잘못된 암호를 입력했음.
403.12 Forbidden 접근금지(Mapper 접근 금지됨). 클라이언트 인증용 맵이 해당 웹 사이트에 접근하는 것이 거부됨.
404 Not Found 문서를 찾을 수 없음. 서버가 요청한 파일이나 스크립트를 찾지 못함.
405 Method not allowed 메서드 허용 안됨. 요청 내용에 명시된 메서드를 수행하기 위해 해당 자원의 이용이 허용되지 않음. [13]
406 Not Acceptable 받아들일 수 없음. [14]
407 Proxy Authentication Required 프록시 서버의 인증이 필요함. [15]
408 Request timeout 요청 시간이 지남.
409 Conflict 요청을 처리하는 데 문제가 있음. 보통 PUT 요청과 관계가 있다. 보통 다른 버전의 파일을 업로드할 경우 발생함. (HTTP 1.1에서 새로 등장)
410 Gone 영구적으로 사용할 수 없음.
411 Length Required 클라이언트가 헤더에 Content-Length를 포함하지 않으면 서버가 처리할 수 없음.(HTTP 1.1에서 새로 등장)
412 Precondition Failed 선결조건 실패. 헤더에 하나 이상의 선결조건을 서버에서 충족시킬 수 없음. [16]
413 Request entity too large 요청된 문서가 현재 서버가 다룰 수 있는 크기보다 큼. [17] (HTTP 1.1에서 새로 등장)
414 Request-URI too long 요청한 URI가 너무 김. [18]
415 Unsupported media type 요청이 알려지지 않은 형태임. (HTTP 1.1에서 새로 등장)
5XX

Server Error

(서버 오류)

서버 측의 오류로 올바른 요청을 처리할 수 없음.
500 Internal Server Error 서버 내부 오류. [19]
501 Not Implemented 필요한 기능이 서버에 설치되지 않았음. [20]
502 Bad gateway 게이트웨이 상태 나쁨. [21]
503 Service Unavailable 외부 서비스가 죽었거나 현재 멈춘 상태 또는 이용할 수 없는 서비스. [22]
504 Gateway timeout 프록시나 게이트웨이의 역할을 하는 서버에서 볼 수 있음. 초기 서버가 원격 서버로부터 응답을 받을 수 없음. (HTTP 1.1에서 새로 등장)
505 HTTP Version Not Supported 해당 HTTP 버전을 지원하지 않음.

 

주석

1. 이 메시지는 HTTP 1.0에서는‘Moved Temporarily’였다. 그리고 HttpServletResponse의 상수는 SC_FOUND가 아니라 C_MOVED_TEMPORARILY다. 이것은 매우 유용한 헤더인데 이 헤더를 통해 브라우저가 자동적으로 새 URL의 링크를 따라가기 때문이다. 이 상태 코드는 아주 유용하기 때문에 이 상태 코드를 위해 sendRedirect 라는 특별한 메서드가 있다. response.sendRedirect(url)을 사용하는 것은 response.setStatus(response.SC_MOVED_TEMPORARILY)과 response.setHeader("Location", url)를 쓰는 것에 비해 몇 가지 장점이 있다. 첫째, 더 쉽게 사용할 수 있다. 둘째, sendRedirect을 써서 서블릿이 그 링크를 포함한 페이지를 자동으로 만들어 준다(자동으로 redirect를 따라갈 수 없는 오래 된 브라우저에서도 볼 수 있게 해 준다). 마지막으로, sendRedirect에서는 상대 URL이 절대 URL로 해석되기 때문에 상대 URL도 다룰 수 있다. 이 상태 코드는 종종 301번과 혼용된다. 예를 들어 <http://host/~user> (마지막에 '/'가 빠짐)과 같이 오류가 있는 요청에 대해 어떤 서버는 301을 어떤 서버는 302를 보낸다. 기술적으로 브라우저는 원 요청이 GET이었다면 자동적으로 리다이렉션을 따라 가도록 되어 있다. 더 자세한 사항은 307 헤더를 보라. 

 

2. 서버는 클라이언트에게 캐시에 저장된 이전 문서를 계속 사용해야 한다고 말할 것이다.

 

3. 클라이언트는 수정없이 요청 사항을 반복하지 않기 바람.

 

4. 이 경우, 여러분이 요청한 자원에 접근할 수 있는 권한을 부여받기 위해 서버 운영자에게 요청해야 할 것이다.

 

5. 이것은 일반적을 으로 적절한 www-authenticate head field를 전송하지 않아서 발생한다.

 

6. 이 자원은 페이지가 될 수도 있고, 클라이언트의 주소 입력란에 명기된 파일일 수도 있다. 아니면 클라이언트가 행당 주소로 들어갈 때 이용되는 또 다른 파일일 수도 있다. 여러분이 접근할 전체 주소를 다시 확인해 보고 웹 서버 운영자에게 여러분이 자원에 접근할 권한이 있는지를 확인해 본다.

 

7. 서버에 접속하는 데 이용되는 인증 과정이 이런 필터 프로그램에 의해 거부되었다.

 

8. 서버에 접속하는 데 이용되는 인증 과정이 이 프로그램에 의해 거부되었다.

 

9. 아니면 Eecute나 Script로 분한이 부여된 디렉터리에 들어있는 HTML페이지를 보려했을 때 발생한다.

 

10. 이것을 보기 위해서 여러분은 주소를 입력하기 전에 먼저 SSL을 이용할 수 있어야 한다.

 

11. 이 자원을 보기 위해서는 여러분의 브라우저가 SSL의 행당 레벌을 지원해야 한다. 여러분의 브라우저가 128비트의 SSL을 지원하는지를 확인해 본다.

 

12. 여러분이 접근하려는 자료가 서버가 인식하기 위해 여러분의 브라우저에게 클라이언트 SSL을 요청하는 경우 발생한다. 이것은 여러분이 자원을 이용할 수 있는 상용자임을 입증하는 데 사용된다.

 

13. 여러분이 요청한 자원에 적절한 MIME 타입을 갖고 있는지 확인해 본다.

 

14. 요청 사항에 필요한 자원은 요청 사항으로 전달된 Acceptheader에 따라 "Not Acceptable"인 내용을 가진 Response 개체만을 만들 수 있다.

 

15. 해당 요청이 수행되도록 프록시 서버에게 인증을 받아야 한다. 프록시 서버로 로그온 한 후에 다기 시도해 본다.

 

16. 현재 자원의 메타-정보가 하나 이상의 자원에 적용되는 것을 막기 위한 클라이언트 선결조건이 의도되었다.

 

17. 만약 서버에서 나중에 다룰 수 있다고 생각되면 Retry-After 헤더를 포함시켜야 한다.

 

18. 요청한 URI가 너무 길어서 서버가 요청 사항의 이행을 거부했다. 이렇게 희귀한 상황은 아래와 같은 경우에만 발생한다.

클라이언트가 긴 탐색용 정보를 가지고 POST 요청을 GET으로 부적절하게 전환했다. 클라이언트가 Redirection 문제를 접하게 되었다. 서버가, 몇몇 서버가 사용하고 있는 요청한 URI 를 읽고 처리하는 고정된 길이의 메모리 버퍼를 이용해 보안체계에 들어가려는, 클라이언트에 의한 공격을 받고 있다.

 

19. 서버가 요청사항을 수행할 수 없다. 다시 한 번 요청해 본다.

 

20. 서버가 요청사항을 수행하는 데 필요한 기능을 지원하지 않는다. 오류가 발생한 URL을 확인한 후에, 문제가 지속될 경우에는 웹 서버 운영자에게 연락한다.

 

21. 서버의 과부하 상태Gateway나 proxy로 활동하고 있는 서버가 요구 사항을 접수한 upstream 서버로부터 불명확한 답변을 접수 했을 때 발생한다. 만약 문제가 지속된다면 웹 서버 운영자와 상의해 본다.

 

22. 서버는 현재 일시적인 과부하 또는 관리(유지,보수) 때문에 요청을 처리할 수 없다. 이것은 약간의 지연 후 덜게 될 일시적인 상태를 말한다. Retry-After 헤더에 지연의 길이가 표시될 수도 있다. 만약 Retry-After를 받지 못했다면 클라이언트는 500 응답을 위해 하고자 했는 것처럼 응답을 처리해야 한다. 상태코드의 존재는 서버가 과부하가 걸릴때 그것을 사용해야한다는 것을 말하는 것이 아니다. 몇몇 서버는 접속을 거부하는 것을 바랄지도 모른다.

IIS 6.0에서 Passive(수동형, 패시브,페시브) Mode 설정하는 방법에 대해 알아보자.

 

1. Passive Mode를 사용하는 이유는?

 

불행히도 FTP 서비스를 추가하게 되면 기본적으로 Active Mode로 운영되며 서버에서는 20번(DATA 전송), 21번(Command) 포트를 사용하고, 사용자는 1024~65535 사이의 포트 2개를 임의적(random)으로 사용하게 된다.

 

중요한 사실은 사용자가 사용하게 될 1024~65535 사이의 포트에 대해서 거의 대부분 서버단(IDC 혹은 방화벽)에 막혀 있다는 점이다.  Active Mode는 사용자가 몇번 포트를 사용할지 모르기때문에 서버관리자는 모든 포트를 열어야 하고 1024~65535 사이의 포트를 모드 열어 버리면 보안 위협이 증가하니 사용자가 사용할수 있는 포트를 서버단에서 지정하자 해서 사용하는게 Passive Mode 이다.

 

내용을 쉽게 풀이 했지만 물론 통신상의 차이점이 있으며 이는 별도로 언급 하도록 하겠다.


만약 FTP에 접속하였는데 로그인까지는 된것 같은데 파일 목록이 안나오거나, 멈춰 있으면 방화벽에 막혔구나 생각하면 된다.

 

2. Metabase.xml 편집

 

Passive Mode 사용을 위해서는 메타베이스 파일을 수정하여야 하며 편집 위해서는 인터넷 정보 서비스(실행-inetmgr)을 입력한 뒤 속성을 선택 후 메타베이스 직접 편집 허용을 체크 한다.

 

 

 

3. metabase.xml 파일 열기

 

notepad C:\WINDOWS\system32\inetsrv\metabase.xml

 

 

 

4. metabase.xml 편집

파일 내용중 <IIsFtpService Location ="/LM/MSFTPSVC" 항목을 찾아 아래의 라인을 추가합니다.

10000-10010 범위는 데이터 전송시 사용할 포트의 범위이며 원하는 포트로 수정해서 사용하시면 됩니다.

 

PassivePortRange="10000-10010"

 

 

5. 서비스 적용 : IIS 재시작을 해야 적용됩니다.

 

 


지난번 IIS 6.0 백업에 이어서 이번에는 IIS 7.0 / 7.5에서의 백업을 소개하고자 한다.

 

IIS 6.0에서는 손쉽게 백업(GUI)에서 하였는데 어찌되었는지 IIS 버전이 올라가면서 해당 기능이 빠졌다.

 

따라서 기본적으로 제공되는 appcmd 라는 기본 명령어를 통해 백업 및 복원하는 방법을 알아보도록 하겠다.

(iis.net 웹사이트에 있는 dll파일을 적용 후config 파일을 수정하면 GUI형태로 백업 및 복원이 가능하다.

 이는 추후에 다루도록 하겠다.)

 

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112

 

1. 사이트 구성

 테스트를 위해 아래의 3개의 사이트가 구성 하였다.

 

 

2. IIS 환경설정 백업

 

CD C:\windows\system32\inetsrv

* appcmd 명령어는 위 경로에 있으며 기본적으로 PATH가 되어 있지 않으므로 CD명령어를 통해 이동한다.

 

 appcmd add backup hosts.tistory.com

* 백업 방법은 appcmd add backup {표시할 이름} 으로 저장한다.

 

백업한 파일의 위치는 아래와 같다.

C:\windows\system32\inetsrv\backup\hosts.tistory.com 

 

 

 

3. 백업 목록 보기

 

appcmd list backup

 

아래와 같이 백업한 목록을 볼수 있다.

 

 

 

4. 백업의 복원

 

복원을 위해 Tistory 사이트를 삭제 하였다.

 

 

복원을 위해 아래와 같이 입력한다.

 

appcmd restore backup hosts.tistory.com

 * 여기서 hosts.tistory.com은 복원할 백업 이름이다.

 

 

 

5. 복원확인

 

 

6. 끝맺음.

엔지니어 입장에서 명령어는 꼭 필요한것만 최소한으로 기억하자

추가적인 정보를 원한다면 명령줄에서 appcmd /? 입력하면 더많은 정보를 얻을 수 있다.

 

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112


 

.

 

Apply IIS configuration options to improve IIS performance


Internet Information Services (IIS) exposes numerous configuration parameters that affect IIS performance. This topic describes several of these parameters and provides general guidance for setting the parameter values to improve IIS performance.

Log only essential information or completely disable IIS logging

IIS logging should be minimized or even disabled in a production environment. To disable logging follow these steps:

  1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  2. In the Connections pane, click to expand Sites, click to select the Web site for which you would like to disable logging, click to select Features View, and then double-click the Logging feature.

  3. Click Disable in the Actions pane to disable logging for this Web site.

Disable IIS ASP debugging in production environments

IIS ASP debugging should be disabled in a production environment. To disable IIS ASP debugging follow these steps:

  1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  2. In the Connections pane, click to expand Sites, click to select the web site for which you would like to disable ASP debugging, click to select Features View, and then double-click the ASP feature.

  3. Click to expand Compilation, click to expand Debugging Properties, and verify that both Enable Client-side Debugging and Enable Server-side Debugging are set to False.

  4. If necessary, click Apply in the Actions pane.

Disable debugging for ASP.NET Applications and Web Services by specifying the <compilation debug="false"/> section in the web.config file for the web application.

Tune the value of the ASP Threads Per Processor Limit property

The ASP Threads Per Processor Limit property specifies the maximum number of worker threads per processor that IIS creates. Increase the value for the Threads Per Processor Limit until the processor utilization meets at least 50 percent or above. This setting can dramatically influence the scalability of your Web applications and the performance of your server in general. Because this property defines the maximum number of ASP requests that can execute simultaneously, this setting should remain at the default value unless your ASP applications are making extended calls to external components. In this case, you may increase the value of Threads Per Processor Limit. Doing so allows the server to create more threads to handle more concurrent requests. The default value of Threads Per Processor Limit is 25. The maximum recommended value for this property is 100.

To increase the value for the Threads Per Processor Limit follow these steps:

  1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  2. In the Connections pane, select the web server, click to select Features View, and then double-click the ASP feature.

  3. Click to expand Limits Properties under Behavior, click Threads Per Processor Limit, enter the desired value for Threads Per Processor Limit and click Apply in the Actions pane.

For more information about how to modify the properties in the <limits> element of the IIS 7.5/7.0 <asp> element, see ASP Limits <limits> (http://go.microsoft.com/fwlink/?LinkId=157483).

 

 

Ee377050.note(en-us,BTS.70).gifNote
Because this property can only be applied at the server level, modification of this property affects all Web sites that run on the server.

 

 

Tune the value of the ASP Queue Length property

The goal of tuning this property is to ensure good response time while minimizing how often the server sends the HTTP 503 (Server Too Busy) error to clients when the ASP request queue is full. If the value of ASP Queue Length property is too low, the server will send the HTTP 503 error with greater frequency. If the value of ASP Queue Length property is too high, users might perceive that the server is not responding when in fact their request is waiting in the queue. By watching the queue during periods of high traffic, you should discern a pattern of web request peaks and valleys. Make note of the peak value, and set the value of the ASP Queue Length property just above the peak value. Use the queue to handle short-term spikes, ensure response time, and throttle the system to avoid overload when sustained, unexpected spikes occur. If you do not have data for adjusting the ASP Queue Length property, a good starting point will be to set a one-to-one ratio of queues to total threads. For example, if the ASP Threads Per Processor Limit property is set to 25 and you have four processors (4 * 25 = 100 threads), set the ASP Queue Length property to 100 and tune from there.

To increase the value for the Queue Length property follow these steps:

  1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  2. In the Connections pane, select the Web server, click to select Features View, and then double-click the ASP feature.

  3. Click to expand Limits Properties under Behavior, click Queue Length, enter the desired value for Queue Length and then click Apply in the Actions pane.

For more information about how to modify the properties in the <limits> element of the IIS 7.5/7.0 <asp> element, see ASP Limits <limits> (http://go.microsoft.com/fwlink/?LinkId=157483).

 

Because this property can only be applied at the server level, modification of this property affects all Web sites that run on the server.

Tune the MaxPoolThreads registry entry

This setting specifies the number of pool threads to create per processor. Pool threads watch the network for requests and process incoming requests. The MaxPoolThreads count does not include threads that are consumed by ISAPI applications. Generally, you should not create more than 20 threads per processor. MaxPoolThreads is a REG_DWORD registry entry located at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ with a default value of 4.

Disable WCF services tracing

Use the Configuration Editor Tool (SvcConfigEditor.exe) to disable WCF services tracing in a production environment. For more information about the Configuration Editor Tool, see Configuration Editor Tool (SvcConfigEditor.exe) (http://go.microsoft.com/fwlink/?LinkID=127070).

Configure ASP.NET 2.0 MaxConcurrentRequests for IIS 7.5/7.0 Integrated mode

When ASP.NET 2.0 is hosted on IIS 7.5/7.0 in Integrated Mode, the use of threads is handled differently than on IIS 7.5/7.0 in Classic Mode. When ASP.NET 2.0 is hosted on IIS 7.5 in Integrated mode, ASP.NET 2.0 restricts the number of concurrently executing requests instead of the number of threads concurrently executing requests. For synchronous scenarios, this will indirectly limit the number of threads because the number of requests will be the same as the number of threads. But for asynchronous scenarios, the number of requests and threads will likely be very different because you could have far more requests than threads. When you run ASP.NET 2.0 on IIS 7.5 in integrated mode, the minFreeThreads and minLocalRequestFreeThreads of the “httpRuntime” element in the machine.config are ignored. For IIS 7.5 Integrated mode, a DWORD named MaxConcurrentRequestsPerCPU within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 determines the number of concurrent requests per CPU. By default, the registry key does not exist and the number of requests per CPU is limited to 12. .NET Framework 3.5 SP1 includes an update to the v2.0 binaries that supports configuring IIS application pools via the aspnet.config file. This configuration applies to integrated mode only (Classic/ISAPI mode ignores these settings).The new aspnet.config config section with default values is listed below:

<system.web>
   <applicationPool maxConcurrentRequestsPerCPU="12" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>

In IIS 7.5 Integrated Mode, the maxWorkerThreads and the maxIoThreads parameters in the “processModel” section of the machine.config file are not used to govern the number of running requests, per se, but they are still used to govern the size of the CLR thread pool used by ASP.NET. When the “processModel” section of the machine.config has “autoConfig=true” (which is the default setting), this will give the application pool up to 100 worker threads (MaxWorkerThreads) per logical CPU. So a common commodity server with 2 dual-core CPUs would have 400 MaxWorkerThreads. This should be sufficient for all but the most demanding applications.

For more information about configuring ASP.NET Thread Usage on IIS 7.5, see Thomas Marquardt's Blog on ASP.NET Thread Usage on IIS 7.0 (http://go.microsoft.com/fwlink/?LinkId=157518).

Configure ASP.NET 4 MaxConcurrentRequests for IIS 7.5/7.0 Integrated mode

With .NET Framework 4, the default setting for maxConcurrentRequestsPerCPU is 5000 which is a very large number and therefore will allow plenty of asynchronous requests to execute concurrently. For more information, see <applicationPool> Element (Web Settings) (http://go.microsoft.com/fwlink/?LinkID=205339).

For IIS 7.5/7.0 Integrated mode, a DWORD named MaxConcurrentRequestsPerCPU within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 determines the number of concurrent requests per CPU. By default, the registry key does not exist and the number of requests per CPU is limited to 5000.

Enable IIS HTTP compression

To more efficiently use available bandwidth, enable IIS HTTP compression. HTTP compression provides faster transmission time between compression-enabled browsers and IIS, regardless of whether your content is served from local storage or a UNC resource.

  • To configure compression at the Web server level:

    1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

    2. In the Connections pane, select the Web server, click to select Features View, and then double-click the Compression feature.

    3. Set the desired compression options and then click Apply in the Actions pane.

  • To configure compression at the Web site level:

    1. Click Start, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

    2. In the Connections pane, click to expand Sites, click to select the Web site for which you would like to configure compression, click to select Features View, and then double-click the Compression feature.

    3. Set the desired compression options and then click Apply in the Actions pane.

가끔씩 IIS의 웹사이트를 추가하거나 작업을하게 되었을데 한번씩하게 되는 백업.

백업은 일종의 보험이라고 해야 할까? 꼭 문제가 생겨야 찾게되니 말이다.

 

오늘은 IIS 6.0 백업 및 복원을 관리 콘솔에서만 진행하느 방법을 소개한다.

백업은 명령줄로도 가능한데 굳이 그러고 싶지 않다.(명령어를 사용하는 백업은 IIS 7.0에서 사용하도록 하자) 

 

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112

 

*  백업의 범위는 : 로컬 컴퓨터 이하의 모든 설정값(응용프로그램 풀 ,웹사이트, FTP등)

                          따라서 홈디렉토리 이하의 컨텐츠 및 사용자계정은 별도로 백업이 되지 않으니 참고하기 바란다.

 

 

0. 인터넷 정보 서비스(IIS) 관리의 첫화면이다.

   다행인지 불행인지 백업은 특정한 웹사이트 또는 FTP만 골라서는 할수 없다.(복원도 마찬가지) 

 

 

 

1. 일단 백업을 위해서 로컬컴퓨터-모든작업-구성 백업/복원(B) 를 선택한다.

 

 

 

2. 구성 백업/복원이 표시되면 백업 만들기(C)를 선택한다.

 

 

 

3. 알기 쉽게 백업 이름을 기입한다.

 

 

 

4.first_Backup 이름으로 저장됨을 확인

 

 

 

5. IIS 설정 복원을 위해 웹사이트중 apple을 삭제 처리 하였다.

 

 

 

6. 백업과 동일하게 로컬컴퓨터-모든작업-구성 백업/복원(B) 를 선택한다.

 

 

 

7. 백업할 대상을 선택하고 복원을 클릭한다.

 

 

 

8. 현재 설정을 지운다는 말과 시간이 오래걸릴지도 모른다는 밑밥을 깔고 있지만 사이트에 양에 따라다르지만

짧게는 몇초 길개는 3분을 넘기지 않는것 같다.

 

 

 

9. 복원이 완료 되었다.

 

 

10. 복원된 모습 (Apple 웹사이트)

 

 

11. 마무리.

그렇다면 백업했던 파일들은 어디에 저장되는 것일까?

아래의 경로를 따라가보면 백업한 이름으로 저장되어진 것을 볼수 있을것이다.

 

백업 경로 : C:\WINDOWS\system32\inetsrv\MetaBack

 

 

 

IIS 6.0 손쉬운 백업 및 복원 방법(GUI) : http://hosts.tistory.com/90

IIS 7.0 / 7.5 백업 및 복원 방법(cmd) : http://hosts.tistory.com/112



+ Recent posts