SharedIT | 묻고 답하기(AMP)

IIS 서버 500 error 관련

안녕하세요 

전산실에서 일하고있는 사회초년생입니다.



회사에서 운영중인 iis 웹서버가 있는데 

사설ip(10.10.20.20) 설정 해놨으며 상단에 위치한 fortigate utm장비에는 별도 공인ip(사업장2방화벽)로 port forwarding을 설정해놨습니다.




구조는 위와 같습니다.

10.10.10.10 --> 사업장1 방화벽 --> 외부망 --> 사업장2 방화벽 --> iis서버 10.10.20.20


그런데 말입니다.



*여기서 문제가 있습니다


10.10.10.10 --> 10.10.20.20

사설 ip에서 iis서버의  http://10.10.20.20/ ******/services/Common/GetSSOTicket.asp?CompanyCode**  호출할때는 정상적으로 응답이 오는데 


10.10.10.10 --> 사업장2방화벽

http://사업장2방화벽/ ******/services/Common/GetSSOTicket.asp?CompanyCode** 를 호출할때는 500 error가 발생합니다.


http://사업장2방화벽/ ******/services/Common/ 

를 접속하면 디렉터리는 정상적으로 나오구요..



IIS 서버 로그는 하기와 같이 리소스를 찾을수 없다고 나옵니다.

=============================================================

|51|800c0005|지정한_리소스를_찾을_수_없습니다.__ 80

=============================================================



iis관리자 사이트에서 asp, 브라우저에 오류전송, 클라이언트 쪽 디버깅 사용, 오류페이지 변경 등은 모두 해봤는데 오류에 대한 자세한 내용이 없습니다.


===============================================================

asp, 브라우저에 오류전송, 클라이언트 쪽 디버깅 사용, 오류페이지  ---변경전

500 - 내부서버오류


asp, 브라우저에 오류전송, 클라이언트 쪽 디버깅 사용, 오류페이지 --- 변경 후

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here  to find out more about this error.


===============================================================



너무나도 궁금합니다

답이 아니어도 좋으니 조언 부탁드립니다 

감사합니다!

Tags : 태그가 없습니다.

8개의 답변이 있습니다.

deerokgo
  0 추천 | 약 2년 전
wansoo
  0 추천 | 약 2년 전

질문 글로 적으신 내용 중에 가장 중요한 단서는

URL을 

http://사업장2방화벽/ ******/services/Common/

와 같이해서 접속시할때는 정상인데


http://사업장2방화벽/ ******/services/Common/GetSSOTicket.asp?CompanyCode**

와 같이 해서 접속할때는 오류라는 내용입니다.


둘간의 차이점은 

서버단 소프트웨어인 GetSSOTicket.asp 를 실행시키냐, 실행 시키지 않냐하는 차이가 되겠고요.

ASP나 PHP 등의 서버단 소프트웨어는 클라이언트 요청에 따라서 결과를 만들어 내어 돌려 주는 역할을 하고요.


방화벽의 기본적인 포트 포워딩 등에는 문제가 없는 상황입니다.

방화벽에서 포트 포워딩 등에 문제가 있는 상황이라면 

http://사업장2방화벽/ ******/services/Common/

라고 접속했을때도 접속하지 못해야 하고, 

페이지 오류 500 과 같은 웹서버가 돌려 주는 오류 메시지가 아니라 서버 접속 자체를 하지 못해야 하겠고요.


클라이언트의 요청에 의해 ASP로 만들어진 프로그램인 GetSSOTicket.asp가 어떤 작업을 하려는데,

클라이언트가 요청하는 내용을 처리할 수 없는 상황이 되겠고요.


로컬 컴퓨터로 접속했을때는 GetSSOTicket.asp 프로그램이 정상적으로 처리하지만

방화벽을 통해 외부에서 접속했을 때는 제대로 처리하지 못한다면

GetSSOTicket.asp에서 클라이언트 접속 정보를 이용해서 다른 서버와 통신해서 결과를 만들어 내려고 시도하다가 그 서버와 통신을 하지 못해서 클라이언트에게 오류가 생겨서 처리하지 못한다는 결과를 알려 주는 걸로 보여집니다.

다시 말해서, 클라이언트가 방화벽 포트 포워딩 설정에 의해 서버와 정상 접속을 했고, 서버에 처리 요청을 했다는 의미가 되겠고요.

서버가 어떤 다른 작업을 시도하다가 처리하지 못하겠다는 오류 결과를 방화벽 포트 포워딩을 통해 정상적으로 클라이언트에게 전달한 것이고요.

topkslee
  0 추천 | 약 2년 전

먼저 두 망 사이 방화벽 설정 문제는 없는지 체크가 필요합니다.

UTM 로그 체크하거나 아니면 방화벽 두망 간에 all 허용해놓고 다시 테스트 해보세요.

방화벽 허용 상태에서도 동일하면 방화벽 설정 문제는 아니니

다른 장비 설정 문제로 단계별로 해보시는게 좋을 것 같습니다.

하하호호 | 약 2년 전

external, internal interface tcpdump로 확인시 정상적으로 보여서 

iis서버의 로그를 확인해봤는데 하기와 같네요...ㅠ

혹시 단계별로 확인해봐야할 사항이 어떤게 있을까요? 

자세한 내용은 아니더라도 항목이 있다면 구글링하면서 하나씩 찾아보겠습니다!

2022-03-07 11:50:16 "일반 pc IP" GET /********_*****/services/Common/GetSSOTicket.asp CompanyCode=*********&*****=*******&*****=****&UserID=****|51|800c0005|지정한_리소스를_찾을_수_없습니다.__ 80 - "사업장1utm IP" Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/98.0.4758.102+Safari/537.36 - 500 0 0 21093



topkslee | 약 2년 전

말씀하신 것처럼

> ASP- 브라우저에 오류전송: True, 클라이언트 쪽 디버깅 사용: True

> 오류페이지- 500선택>기능설정편집>자세한 오류 선택

변경하신 후도 아래와 같은 메시지가 나온다는 말씀이시죠?

--------------

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here  to find out more about this error.

--------------


방화벽 허용 테스트는 해보셨는지요?

하하호호 | 약 2년 전

네네 맞습니다!

방화벽은 양방향으로 all open 후 테스트도 했지만 동일합니다

topkslee | 약 2년 전

internal 500 은 서버단에서 실행 오류로 발생하는 것이 대부분입니다.

"800c0005 지정한_리소스를_찾을_수_없습니다."

이 오류 메시지가 뭐때문에 발생하는지를 확인해야 오류 수정도 될것 같은데요. 

위에 말씀하신 오류 페이지 설정을 적용되면 오류 메시지가 나올텐데요.

나오지 않는다니 그부분 해결이 되어야 겠네요.

bloggskhoi85
  0 추천 | 약 2년 전

적어 두신 내용으로 보아 IIS서버에서 설정이 잘못된것 같네요.

네트워크구성은 문제가 없을듯 하 고요 . IIS서버를 호출하는  URI  보면 

10.10.20.20  vs 사업장2방화벽 인데요. 이를 처리하는 부분이 web.xml이나 asp 소스에 있어서 500오류가 있을듯 하네요.

차바라기
  0 추천 | 약 2년 전

경로를 못찾아서 500에러가 납니다. 방화벽 설정을 잘못하신거 같은데요 유지보수 업체가 있다면 문의 해보세요

하하호호 | 약 2년 전

통신사 장비로 업체쪽에도 연락해서 실시간으로 확인해봤지만 정상적이라는 답변만 받았습니다

asp를 이용시 별도 경로도 확인할까요...?

답변 감사합니다!

wansoo
  0 추천 | 약 2년 전

적어 두신 내용만으로는 상황 파악을 하기가 쉽지는 않아 보이고요.

내용으로 추정해 봤을땐 방화벽 포트 포워딩 설정과 GetSSOTicket.asp에서 수행하는 기능(명령) 사이의 호환성(?)  문제가 있기 때문으로 보여 집니다.

접속을 시도한 클라이언트의 IP 주소, 서브넷 마스크, 게이트웨이 주소와

서버 쪽에 설정된 IP 주소, 서브넷 마스크, 게이트웨이 주소

그리고 방화벽의 포트 포워딩 설정 정보도 상황 판단에 있어서 중요한 정보가 될 수 있을 것 같고요.


클라이언트에서

nslookup 사업장2방화벽

이라고 명령을 줬을 때 어떤 IP를 알려 주는지도 중요한 정보가 될 것 같고요.


GetSSOTicket.asp 에서 어떤 서버와 접속을 시도하고, 어떤 역할을 하는지 등등에 대한 정보가 있어야 상황 판단을 위한 좀 더 구체적인 접근이 가능하지 않을까 싶어 보이네요.

Genghis Khan
  0 추천 | 약 2년 전

web/was 문제는 port 설정, 경로설정, 방화벽 문제

가 거의 대부분입니다

로그도 확인해 보셨겠지만 위 부분에 대해 다시한번 체크해 보세요

빨간신발
  0 추천 | 약 2년 전

사설로 접근하면 잘 되는데...

공인으로 포트포워딩하여 접근하면 500 에러..

500 에러이면 서버측 문제입니다.

아무래도 iis 설치 폴더에 가시면 로그가 쌓이고 있습니다.

해당 오류에서 대한 로그를 확인해보시면 좀 더 자세한 원인을 찾을 수 있습니다.

사설로 접근하면 http 헤더에 10.10.20.20으로 요청한 것으로 나오고..

공인으로 접근하면 http 헤더에 공인ip로 접근한 것으로 나오는데...

GetSSOTicket.asp에서 헤더값에 따라서 접근할 수 있는 리소스가 제한되도록 프로그램을 했을수도 있겠네요..