이전 기사 에서는 IIS5의 HTTP 500 내부 서버 오류에 대한 해결 방법을 설명했습니다. IIS 서버 오류의 원인은 복잡합니다. 서비스 시작 실패, IIS 프로세스 중단, 사이트 시작 실패 등의 오류는 시스템 로그에 오류 이벤트를 기록합니다. IIS에서 어떤 종류의 오류가 발생하더라도 문제 해결 계획을 결정하기 전에 먼저 이벤트 뷰어를 사용하여 시스템 로그에 기록된 관련 이벤트를 확인해야 합니다.
일부 오류는 분명히 서버 하드웨어 손상으로 인해 발생하는 반면, 소프트웨어 문제로 인해 발생하는 다른 오류는 감지하기 쉽지 않은 경우가 많습니다. 이 섹션에서는 일반적인 IIS 문제 해결 방법을 소개합니다.
IIS 다시 시작
일반적인 문제 해결 방법과 Microsoft 제품의 문제 해결 방법에 따르면 대부분의 소프트웨어 문제는 해당 방법을 다시 시작하면 해결될 수 있습니다. IIS5.0의 새로운 기능 중 하나는 컴퓨터를 다시 시작하지 않고도 IIS 서비스를 다시 시작할 수 있다는 것입니다. 이 방법을 사용하면 매우 심각한 문제도 해결할 수 있습니다. IIS 서비스를 다시 시작하면 시스템이 IIS 프로세스의 메모리 공간을 강제로 재설정하여 메모리 오류로 인해 발생한 문제를 해결할 수 있습니다. IIS를 다시 시작하는 방법은 주로 다음과 같은 상황에서 사용됩니다: 웹 사이트 응용 프로그램이 마비되어 효과적으로 제어할 수 없습니다. 웹 사이트 응용 프로그램이 제대로 작동하지 않거나 불안정합니다. [/TD] [/TR][/TABLE] IIS 서비스를 다시 시작하는 동안 현재 연결을 모두 유지할 수 없으며 다시 시작하는 동안 서버의 모든 사이트가 작동할 수 없습니다. IIS 서비스를 다시 시작해도 문제가 해결되지 않으면 서버를 다시 시작해도 효과가 없습니다.
사이트 응용 프로그램이 제대로 작동하지 않으면 아래 단계에 따라 서버의 IIS 서비스를 다시 시작하세요.
1. IIS 관리 제어 트리에서 IIS 노드를 확장하고 IIS 서비스를 다시 시작해야 하는 컴퓨터를 선택합니다.
2. [작업] 메뉴를 클릭하고 [IIS 다시 시작]을 선택합니다.
3. [중지/시작/다시 시작] 대화 상자의 [IIS에서 수행할 작업] 드롭다운 목록에서 [서버에서 IIS 다시 시작]을 선택하고 [확인]을 클릭합니다.
4. 닫기 대화 상자에는 IIS를 다시 시작하는 진행 상황이 표시됩니다. 대화 상자가 오랫동안 응답하지 않으면 [지금 종료]를 클릭하고 위 작업을 다시 수행하십시오.
참고: 위의 다시 시작 작업은 HTML 기반 IIS 관리자(원격 관리 모드)를 사용하여 수행할 수 없습니다.
단일 사이트의 안정성 문제의 경우 전체 IIS 프로세스를 다시 시작할 필요는 없으며 사이트만 다시 시작하면 됩니다.
IIS 문제 해결
백업/복원 IIS
세상에 완벽한 서버 보안 계획이 하나 있다면 그것은 바로 백업입니다. 누군가가 지적한 적이 있습니다. 훌륭한 시스템 관리자가 수행하는 가장 중요한 세 가지 작업은 백업, 백업, 백업입니다.
IIS의 구현 메커니즘에는 레지스트리와 유사한 메타데이터 데이터베이스인 MetaBase가 포함되어 있습니다. IIS 자체 및 사이트와 관련된 모든 구성 속성은 Windows 2000 및 메타데이터 데이터베이스 MetaBase에 저장됩니다. 따라서 관련 레지스트리와 메타데이터 데이터베이스만 백업하면 사이트와 관련된 모든 구성을 저장할 수 있습니다. 사이트를 삭제하거나 IIS를 다시 설치한 후에도 백업을 사용하여 원래 상태로 복원할 수 있습니다.
IIS를 백업하는 단계는 다음과 같습니다.
1. IIS 관리자에서 IIS 노드를 확장하고 백업할 컴퓨터를 선택합니다.
2. [작업] 메뉴를 클릭하고 [구성 백업/복원]을 선택합니다.
3. [백업/복원 구성] 대화 상자의 [백업] 목록에 모든 백업 파일과 백업 시간을 나열합니다. [백업 생성] 버튼을 클릭하세요.
4. [백업 구성] 대화 상자에서 새 백업 이름을 지정하고 [확인]을 클릭합니다.
5. [닫기]를 클릭하면 백업이 완료됩니다.
기본적으로 백업 파일은 Winntsystem32inetsrvMetaBack 디렉터리에 저장됩니다.
백업을 복원하는 방법은 [백업/복원 구성] 대화 상자의 [백업] 목록에서 백업 파일을 선택하고 [복원]을 클릭합니다. 그런 다음 왼쪽과 같은 프롬프트 대화 상자에서 [확인]을 클릭하면 일정 시간이 지나면 IIS 서버가 백업을 수행했던 상태로 복원됩니다.
IIS를 재설치한 후 서버에서 백업을 복원해야 하는 경우 위의 복구 작업을 기반으로 추가 작업을 수행해야 합니다. 단계는 다음과 같습니다.
1. 명령 프롬프트에 cscript.exe X:InetPubAmdinScriptsAdsutil.vbs enumw3svc를 입력합니다. 여기서 "X"는 IIS가 설치된 드라이브 문자입니다. 나열된 설정에서 WamUserName 및 관련 WAMUserPass 값을 찾습니다.
2. 제어판에서 [관리 도구]를 두 번 클릭한 후 [컴퓨터 관리]를 두 번 클릭합니다.
3. [로컬 사용자 관리자]를 선택한 후 [사용자]를 클릭합니다. [IWAM_computername] 사용자 계정을 두 번 클릭합니다. 이전 단계에서 찾은 WAMUserPass 값을 입력하고 확인을 클릭합니다.
4. [백업 이름 구성] 대화 상자에서 생성된 백업 파일을 선택한 후 [복원]을 클릭합니다. 이 시점에서 구성이 완전히 복원됩니다.
[컷 페이지]
TCP/IP 문제 해결
TCP/IP 프로토콜 문제는 IIS가 제대로 작동하지 않는 원인이 되는 경우가 많습니다. IIS에서 오류가 발생했지만 IIS 서비스 자체에는 문제가 없다고 판단될 경우, 단순히 네트워크 하드웨어 손상으로 인한 문제를 해결한 후 네트워크 연결에 문제가 있는지 살펴보는 것이 필요합니다. 네트워크 프로토콜, 주로 TCP/IP에 초점을 맞춰야 합니다.
Windows 2000은 주로 명령 프롬프트 라인을 기반으로 하는 일련의 TCP/IP 문제 해결 도구를 제공하여 네트워크 문제를 진단하는 강력한 수단을 제공합니다.
ipconfig 도구를 사용하여 TCP/IP 구성 확인
ipconfig는 클라이언트의 TCP/IP 구성 상태를 보고 관리하기 위한 명령 프롬프트 도구입니다. 명령 프롬프트에 ipconfig를 입력하고 Enter를 누르면 IP 주소, 서브넷 마스크 및 기본 게이트웨이를 포함하여 오른쪽에 표시된 컴퓨터의 기본 TCP/IP 구성 속성을 얻을 수 있습니다.
명령 프롬프트에 ipconfig /all을 입력하고 Enter를 누르면 세부 모드에서 TCP/IP 구성 상태를 확인할 수 있으며 여기에는 기본 정보 외에도 호스트 이름, DNS 설정, WINS 설정, DHCP 설정, 물리적 주소, 노드 유형도 포함됩니다. , 등 TCP/IP 정보.
컴퓨터에 DHCP가 활성화되어 있고 DHCP 서버를 사용하여 구성을 가져오는 경우 ipconfig /renew 명령을 사용하여 임대 새로 고침을 시작할 수 있습니다. /release 옵션과 함께 ipconfig 명령을 사용하여 호스트의 현재 DHCP 구성을 즉시 해제할 수도 있습니다.
Windows 95 및 Windows 98 클라이언트의 경우 ipconfig 명령 대신 winipcfg 명령을 사용해야 합니다.
ping 명령을 사용하여 연결 테스트
Ping 명령은 IP 수준 연결을 확인하는 데 도움이 됩니다. 문제를 발견하고 해결할 때 Ping을 사용하여 대상 호스트 이름 또는 IP 주소로 ICMP 에코 요청을 보낼 수 있습니다. Ping은 호스트가 TCP/IP 네트워크 및 네트워크 리소스에 연결할 수 있는지 확인해야 할 때 사용됩니다.
Ping 명령은 실제로 여러 개의(기본값은 4) 데이터 패킷을 대상 호스트로 보냅니다. 로컬 컴퓨터와 대상 호스트가 연결될 수 있으면 대상 호스트는 오른쪽 상단 그림과 같이 응답 메시지로 응답합니다. 메시지에는 응답 시간과 TTL 값이 포함됩니다. 동일한 호스트에 대한 성공적인 ping은 IP 데이터가 로컬 호스트와 대상 호스트 간에 전송될 수 있음을 나타냅니다.
아래 그림과 같이 타임아웃 메시지가 수신되면 로컬 호스트와 대상 호스트 사이에 TCP/IP 연결을 설정할 수 없다는 의미이며, 가능한 원인으로는 네트워크 오류, 프로토콜 오류, TCP/IP 구성 오류 등이 있습니다. 네트워크 연결을 확인하기 전에 테스트 시 다음 순서로 Ping 테스트를 수행해야 합니다.
1. 로컬 루프 주소 127.0.0.1을 ping하여 로컬 TCP/IP 구성이 올바른지 확인합니다.
명령 프롬프트에 Ping 127.0.0.1을 입력합니다.
2. 로컬 컴퓨터 주소를 ping하여 로컬 IP 주소 설정이 올바른지 확인합니다.
3. 기본 게이트웨이 주소를 ping하여 로컬 서브넷 외부의 호스트와 통신할 수 있는지 확인합니다.
4. 원격 서브넷의 호스트를 ping하여 라우터를 통해 원격 통신이 가능한지 확인합니다.
위의 Ping 명령에 응답할 수 있으면 TCP/IP 구성이 네트워크 통신을 지원할 수 있다는 의미입니다. 그렇지 않으면 해당 네트워크 구성 요소에 대한 설정 확인이 수행됩니다.
netstat 도구를 사용하여 연결 통계 표시
netstat 명령을 사용하여 프로토콜 통계와 현재 TCP/IP 연결을 표시할 수 있습니다.
netstat -a 명령은 모든 연결을 표시하고, netstat -r은 라우팅 테이블과 활성 연결을 표시합니다. netstat -e 명령은 이더넷 통계를 표시하고, netstat -s는 프로토콜별 통계를 표시합니다.
netstat -n을 사용하면 주소와 포트 번호를 이름으로 변환할 수 없습니다.
[컷 페이지]
400 이 요청을 구문 분석할 수 없습니다.
401.1 Unauthorized: 잘못된 자격 증명으로 인해 액세스가 거부되었습니다.
401.2 권한 없음: 서버가 대체 인증 방법을 선호하도록 구성되어 있으므로 액세스가 거부되었습니다.
401.3 Unauthorized: 요청한 리소스에 대한 ACL 설정으로 인해 액세스가 거부되었습니다.
401.4 Unauthorized: 웹 서버에 설치된 필터의 인증에 실패했습니다.
401.5 인증되지 않음: ISAPI/CGI 응용 프로그램 인증에 실패했습니다.
401.7 Unauthorized: 웹 서버의 URL 인증 정책으로 인해 접근이 거부되었습니다.
403 금지됨: 액세스가 거부되었습니다.
403.1 금지됨: 실행 액세스가 거부되었습니다.
403.2 금지됨: 읽기 액세스가 거부되었습니다.
403.3 금지됨: 쓰기 액세스가 거부되었습니다.
403.4 금지됨: 이 리소스를 보려면 SSL이 필요합니다.
403.5 금지됨: 이 리소스를 보려면 SSL 128이 필요합니다.
403.6 금지됨: 클라이언트의 IP 주소가 거부되었습니다.
403.7 금지됨: SSL 클라이언트 인증서가 필요합니다.
403.8 금지됨: 클라이언트의 DNS 이름이 거부되었습니다.
403.9 금지됨: 너무 많은 클라이언트가 웹 서버에 연결을 시도했습니다.
403.10 금지됨: 웹 서버가 실행 액세스를 거부하도록 구성되었습니다.
403.11 금지됨: 비밀번호가 변경되었습니다.
403.12 금지됨: 서버 인증서 매퍼에 의해 클라이언트 인증서 액세스가 거부되었습니다.
403.13 금지됨: 클라이언트 인증서가 웹 서버에서 취소되었습니다.
403.14 Forbidden: 웹 서버에서 디렉터리 목록이 거부되었습니다.
403.15 금지됨: 웹 서버가 클라이언트 액세스 라이센스 제한을 초과했습니다.
403.16 금지됨: 클라이언트 인증서의 형식이 잘못되었거나 웹 서버에서 신뢰하지 않습니다.
403.17 액세스 금지: 클라이언트 인증서가 만료되었거나 아직 유효하지 않습니다.
403.18 금지됨: 요청한 URL을 현재 응용 프로그램 풀에서 실행할 수 없습니다.
403.19 금지됨: 이 응용 프로그램 풀의 클라이언트에 대해 CGI를 실행할 수 없습니다.
403.20 금지됨: 여권 로그인에 실패했습니다.
404 파일이나 디렉터리를 찾을 수 없습니다.
404.1 파일 또는 디렉터리를 찾을 수 없음: 요청한 포트에서 웹 사이트에 접근할 수 없습니다.
404.1 오류는 IP 주소가 여러 개인 컴퓨터에서만 발생합니다. 특정 IP 주소/포트 조합에서 클라이언트 요청이 수신되고 IP 주소가 해당 특정 포트에서 수신하도록 구성되지 않은 경우 IIS는 404.1 HTTP 오류를 반환합니다. 예를 들어, 컴퓨터에 두 개의 IP 주소가 있고 IP 주소 중 하나만 포트 80에서 수신하도록 구성된 경우 다른 IP 주소가 포트 80에서 수신한 요청으로 인해 IIS는 404.1 오류를 반환합니다. 이 오류는 서버에서 여러 IP 주소가 사용되는 경우에만 클라이언트에 반환되므로 이 서비스 수준에서만 설정해야 합니다.
[컷 페이지]TCP/IP 문제 해결
TCP/IP 프로토콜 문제는 IIS가 제대로 작동하지 않는 원인이 되는 경우가 많습니다. IIS에서 오류가 발생했지만 IIS 서비스 자체에는 문제가 없다고 판단될 경우, 단순히 네트워크 하드웨어 손상으로 인한 문제를 해결한 후 네트워크 연결에 문제가 있는지 살펴보는 것이 필요합니다. 네트워크 프로토콜, 주로 TCP/IP에 초점을 맞춰야 합니다.
Windows 2000은 주로 명령 프롬프트 라인을 기반으로 하는 일련의 TCP/IP 문제 해결 도구를 제공하여 네트워크 문제를 진단하는 강력한 수단을 제공합니다.
ipconfig 도구를 사용하여 TCP/IP 구성 확인
ipconfig는 클라이언트의 TCP/IP 구성 상태를 보고 관리하기 위한 명령 프롬프트 도구입니다. 명령 프롬프트에 ipconfig를 입력하고 Enter를 누르면 IP 주소, 서브넷 마스크 및 기본 게이트웨이를 포함하여 오른쪽에 표시된 컴퓨터의 기본 TCP/IP 구성 속성을 얻을 수 있습니다.
명령 프롬프트에 ipconfig /all을 입력하고 Enter를 누르면 세부 모드에서 TCP/IP 구성 상태를 확인할 수 있으며 여기에는 기본 정보 외에도 호스트 이름, DNS 설정, WINS 설정, DHCP 설정, 물리적 주소, 노드 유형도 포함됩니다. , 등 TCP/IP 정보.
컴퓨터에 DHCP가 활성화되어 있고 DHCP 서버를 사용하여 구성을 가져오는 경우 ipconfig /renew 명령을 사용하여 임대 새로 고침을 시작할 수 있습니다. /release 옵션과 함께 ipconfig 명령을 사용하여 호스트의 현재 DHCP 구성을 즉시 해제할 수도 있습니다.
Windows 95 및 Windows 98 클라이언트의 경우 ipconfig 명령 대신 winipcfg 명령을 사용해야 합니다.
ping 명령을 사용하여 연결 테스트
Ping 명령은 IP 수준 연결을 확인하는 데 도움이 됩니다. 문제를 발견하고 해결할 때 Ping을 사용하여 대상 호스트 이름 또는 IP 주소로 ICMP 에코 요청을 보낼 수 있습니다. Ping은 호스트가 TCP/IP 네트워크 및 네트워크 리소스에 연결할 수 있는지 확인해야 할 때 사용됩니다.
Ping 명령은 실제로 여러 개의(기본값은 4) 데이터 패킷을 대상 호스트로 보냅니다. 로컬 컴퓨터와 대상 호스트가 연결될 수 있으면 대상 호스트는 오른쪽 상단 그림과 같이 응답 메시지로 응답합니다. 메시지에는 응답 시간과 TTL 값이 포함됩니다. 동일한 호스트에 대한 성공적인 ping은 로컬 호스트와 대상 호스트 간에 IP 데이터가 전송될 수 있음을 나타냅니다.
아래 그림과 같이 타임아웃 메시지가 수신되면 로컬 호스트와 대상 호스트 사이에 TCP/IP 연결을 설정할 수 없다는 의미이며, 가능한 원인으로는 네트워크 오류, 프로토콜 오류, TCP/IP 구성 오류 등이 있습니다. 네트워크 연결을 확인하기 전에 테스트 시 다음 순서로 Ping 테스트를 수행해야 합니다.
1. 로컬 루프 주소 127.0.0.1을 ping하여 로컬 TCP/IP 구성이 올바른지 확인합니다.
명령 프롬프트에 Ping 127.0.0.1을 입력합니다.
2. 로컬 컴퓨터 주소를 ping하여 로컬 IP 주소 설정이 올바른지 확인합니다.
3. 기본 게이트웨이 주소를 ping하여 로컬 서브넷 외부의 호스트와 통신할 수 있는지 확인합니다.
4. 원격 서브넷의 호스트를 ping하여 라우터를 통해 원격 통신이 가능한지 확인합니다.
위의 Ping 명령에 응답할 수 있으면 TCP/IP 구성이 네트워크 통신을 지원할 수 있다는 의미입니다. 그렇지 않으면 해당 네트워크 구성 요소에 대해 설정 확인이 수행됩니다.
netstat 도구를 사용하여 연결 통계 표시
netstat 명령을 사용하여 프로토콜 통계와 현재 TCP/IP 연결을 표시할 수 있습니다.
netstat -a 명령은 모든 연결을 표시하고, netstat -r은 라우팅 테이블과 활성 연결을 표시합니다. netstat -e 명령은 이더넷 통계를 표시하고, netstat -s는 프로토콜별 통계를 표시합니다.
netstat -n을 사용하면 주소와 포트 번호를 이름으로 변환할 수 없습니다.