[완료]'Server returned HTTP response code: 503 for URL'에러 발생시 해결 방법

byunghoon의 이미지

안녕하세요.

저희 회사 Web서버를 관리하고 있는 네트워크에 지식 없는 관리자 입니다.
언젠가 부터 다음 에러가 나오면서 web서버의 프로그램이 업데이트를 못하는데요..
내용은 저희 서버가 아래 표시된 updates서버 주소로 연결되어 updates 서버로부터 update 파일을 다운받아 저희서버가 update되도록 컨트롤 하는 형식으로 이루어 집니다.

에러메시지는 다음과 같습니다.

Transaction with update server http://servername.com failed
Server returned HTTP response code: 503 for URL: http://updates.servername.com/service/update

여기에 할당 되어 있는 IP는 방화벽이 설정되어 있어 http://servername.com 로 inbound와 outbound를 모두 열어놔야 하는데요..

죄송하지만,
1. ping이외 해당 IP에 대해 저희 IP가 inbound와 outboud가 모두 열려 있는지 콘솔에서 확인 하는 방법(ping은 이상없이 잘 됩니다.)
2. 위 에러 메시지가 나올때 문제시 해결 방법.
(servername.com은 외부 다른 컴퓨터에서 접속했을때 문제가 없으며, 정상적으로 돌아가는 서버입니다.)
를 알려주시면 감사하겠습니다.

네트워크에 많은 지식이 없어 매일같이 고생만하네요..
감사합니다.

brucewang의 이미지

구글 신께서 대답해 주시길
http://www.checkupdown.com/status/E503.html
503에러는 서버로부터 데이터 응답을 받는 과정에서 발생하는 것이군요.
즉, TCP연결은 완료되었고 응답수신 과정에 뭔가 막혀 있는 상황입니다.
DNS 조회를 통한 ip주소확인 과정은 무사 통과했구요.

PING은 주로 ICMP를 사용하기때문에 실제 서비스를 이용하시려는 TCP 80 port를 대상으로
테스트를 하셔야 하는데요, 아주 간단하게
$ telnet servername.com 80
이런식으로 telnet 으로 직접 해당 포트에 접속을 해보시면 되겠습니다.

약간 헷갈리는것이 servername.com 이라는 서버가 뭔가 업데이트를 받아오기 위해서
접속하시려는 '대상' 서버라는 말씀이시죠? 일반 웹 브라우저로 http://servername.com으로는 잘 되는데
http://updates.servername.com/service/update 는 안된다는 것인가요?

servername.com 와 updates.servername.com 의 실제 ip주소는 다를 수 있습니다.
지금 관리하시는 방화벽의 설정을 다시 한번 살펴보시는 것이 좋을 것 같구요,
NAT설정도 잘 살펴보시기 바랍니다.

-------------------------------------------------
$yes 4 8 15 16 23 42

-------------------------------------------------
$yes 4 8 15 16 23 42

byunghoon의 이미지

빠른 답변 감사드립니다.

제가 질문을 허접하게 써서 혼돈을 드린점에 대해서 죄송하게 생각 합니다.

브라우저를 통해 http://updates.servername.com로 접속하면 접속이 가능하며,
http://updates.servername.com/service/update 또한 접속이 가능합니다.

http://updates.servername.com/service/updates 여기는 아래와 같이 접속이 가능한지 XML 테스트를 하는 곳이더군요.
'Simple Web Service Test Page - /update Enter XML request here'

죄송하지만 servername은 임의로 생성한 것이며, 저희 회사명이 들어있어 정확히 기입하지 않은 점에 대해서 죄송합니다.

저도 네트워크 문제로 보이나 네트워크 담당하신 분이 서버에 사용된 IP는 http://updates.servername.com로 INBOUND와 OUTBOUND를 모두 열어 놨다고 하며, SE LINUX나 FIRE WALL도 모두 내렸다고 하더군요..

UPDATES서버는 TELNET 접근이 불가능하게 되어있습니다. 다른 방법은 없는 건가요?

brucewang의 이미지

telnet에서 포트를 80으로 지정하면 바로 그 포트에 접속을 하는것이니 특별히 NAC이나 별도의 클라이언트 제어 환경이 설치되어 있다면 테스트에는 문제가 없을겁니다.

그런데 이미 브라우저에서 해당 웹서비스의 XML목록까지 확인이 가능하다면 네트워크 설정상의 문제는 전혀 아닌것 같습니다.
전혀 존재하지 않는 웹서비스의 요청이거나, 해당 서비스를 제공하는 서버에서 특정 웹서비스 구동시 뻗어버리는 것은 아닐까 싶은... 생각이 드네요.

-------------------------------------------------
$yes 4 8 15 16 23 42

-------------------------------------------------
$yes 4 8 15 16 23 42

byunghoon의 이미지

[root@localhost hoon]# telnet 69.25.205.xxx 80
Trying 69.25.205.170...
Connected to 69.25.205.xxx (69.25.205.xxx).
Escape character is '^]'.

텔넷으로 접속하게 되면 위와같이 나오게 됩니다.
updates 서버는 저희가 컨트롤 하는게아니라 어떻게 할 수가 없네요..

여러가지 정황으로 봐선 네트워크 문제가 아닌것 같기도 하구요..

그래서 정 안되면 웹서버를 백업 후 다시 설치하는 쪽으로 가고 있습니다.
빠른 답변에 감사 드립니다.

brucewang의 이미지

아, 그 텔넷 화면은 접속이 성공한 것입니다.
여러 확인 방법중에 telnet을 통한 접속 가능 여부를 확인하는 법을 알려드렸던 것이구요..

그러시면, 우선 윈도우 환경이시라면 Wireshark, 기타 환경이시라면 ngrep등으로 해당 웹서비스를
수행 할 때의 패킷 정보를 모두 캡쳐해서 해당 회사한테 문의 해 보세요.

해당 패킷 내용을 본다면 어디가 이상한지 판단하는데 보다 도움이 되지 않을까 싶네요.

시급하신 상황이시라면 어쩔 수 없이 재 설치를 하셔야겠지만, 향후를 위해 support창구를
미리 열어두시는것도 도움이 되지 않을까 싶습니다..

-------------------------------------------------
$yes 4 8 15 16 23 42

-------------------------------------------------
$yes 4 8 15 16 23 42

byunghoon의 이미지

네.. 이와 같은 문제는 처음 발생되서.. 향후를 위해 정상적으로 해결하는게 좋을것 같네요..

저희 웹서버는 Linux에서 돌아는 서버입니다.
그렇다면 ngrep만을 사용해서 패킷 정보를 캡쳐해 보내면 맞는건가요?
이외 따로 다른 사항들을 점검해야 할 것들은 없는건가요?
제가 네트워크와 리눅스를 많이 사용해보지 않아 trouble shooting에 무뇌하네요..

다시한번 빠른 답변 감사 드립니다.

brucewang의 이미지

ngrep이 없으시다면 tcpdump 를 사용하셔도 되지만 tcpdump는 옵션이 조금 복잡하니까요
ngrep이 없으시면 다음 링크를 확인하셔서 설치를 해보세요
http://netsecure.alcpress.com/ngrep/

아니면 dummy hub를 달아서 윈도우즈에서 간단하게 wireshark를 사용하셔도 되겠습니다.

ngrep을 사용하신다면 먼저 인터넷 접속에 사용되는 디바이스를 ifconfig명령등으로 확인해 보시구요
다음과 같이 명령을 실행해 보세요

$ sudo ngrep -den1 port 80 > result.txt

-den1 옵션은 'en1' 이라는 디바이스를 확인한다는 뜻입니다.

-------------------------------------------------
$yes 4 8 15 16 23 42

-------------------------------------------------
$yes 4 8 15 16 23 42

byunghoon의 이미지

답변 정말 빠르시네요..
테스트 후 질문사항이 있으면 다시 문의 드리겠습니다.

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.