
IIS 7에서 실행되는 인트라넷 웹사이트가 있습니다. 사이트를 로드하려고 하면 매번 다르게 반응합니다. 내 사이트를 로드하려고 할 때 발생하는 다양한 시나리오는 다음과 같습니다.
- 사이트가 바로 로드되어 제대로 작동합니다.
- 사이트가 느리게 로드되고 일부 스타일/이미지/자바스크립트가 올바르게 로드되지 않는 것 같습니다.
- '503 서비스를 사용할 수 없음' 오류가 발생합니다.
왜 이런 일이 발생하는지 아시나요?
답변1
그래서 마침내 내 문제가 해결되었습니다. 문제는 IIS 구성에 있었으며 최대 연결 수가 5로 설정되어 있었습니다. 연결 수를 늘리기만 하면 오류가 해결되었습니다.
답변2
오류에 대한 전체 설명:
웹사이트를 운영하고 있는 웹서버는 일시적인 과부하 또는 서버 유지보수로 인해 현재 HTTP 요청을 처리할 수 없습니다. 이는 이것이 일시적인 상태이며 약간의 시간이 지나면 완화될 것이라는 의미입니다. 이 상태의 일부 서버는 단순히 소켓 연결을 거부할 수도 있으며, 이 경우 소켓 생성 시간이 초과되어 다른 오류가 생성될 수 있습니다.
서버에서 발생할 수 있는 한 가지 일은 서버가 수신하는 80개 이상의 모든 포트가 포트 80보다 우선한다는 것입니다. 웹 사이트가 실행되는 것과 동일한 포트입니다.
이것이 사실인지 확인하는 명령은 다음과 같습니다( 에서 실행 cmd
).
netsh http show urlacl
다음과 같은 항목을 얻으면 :
Reserved URL : http://+:80/
...
그러면 이는 위의 문제가 귀하에게 발생하고 있음을 의미합니다. 그리고 이 명령을 사용하여 거기에서 레코드를 제거해야 합니다.
netsh http delete urlacl url=http://+:80/
출처:
http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx
http://haacked.com/archive/2007/05/18/service-unavailable-errors-in-iis-7-are-killing-me.aspx
답변3
이런 일이 발생하는 이유를 파악하는 첫 번째 단계는 정보를 수집하는 것입니다.
물리적으로 또는 RDP를 통해 서버에 액세스할 수 있는 경우 perfmon
서버 성능을 분석하는 데 사용할 수 있습니다.
다음은 이를 수행하는 방법에 대한 몇 가지 기사입니다(2003년에 대한 것이지만 2008/2008 R2에서는 실제로 많이 변경되지 않았습니다).
ASP.NET 응용 프로그램(IIS 6.0)에서 시스템 모니터(PerfMon) 사용
성능 측면에서 현재 일어나고 있는 일에 대한 정보를 수집한 후에는 원인을 분리하기 시작할 수 있습니다.