SharedIT | 묻고 답하기(AMP)

외부 웹서버 내부 웹 서버 구성 질문 드립니다.

안녕하세요 매번 질문만 올려서 죄송합니다. ㅜㅜ  언젠간 저도 지식이 늘어서 지식 공유할수 있는 수준이 되려고 열심히 하는 사람 입니다.

본격적으로 외부 웹 서버 내부 웹 서버 구성 질문 드립니다.

현재 시스템을 구성하려는 시스템 구성도 입니다.

 

보안때문에 외부사용자는 외부망에 있는 외부 서버O/S, 외부 웹 서버를 통해서만 요청하고 응답 받아야 됩니다.  외부 웹 서버는 내부 웹 서버와 통신해서 데이터를 주고 받게 구성을 하려고 합니다.

위와 같이 구성을 해놓고 테스트를 외부 사용자가 내부에 있는 A.html 요청을 하면 호출이 안됩니다.

당연히 안되죠.... 외부사용자가 내부 웹 서버에 있는 A.html을 호출 했으니까요

외부 사용자가 외부 웹 서버를 통해서 내부에 있는 A.html을 접속을 하고 싶습니다.

실제로 데이터들은 다 내부 웹 서버에 있습니다.

외부 사용자가 외부 웹 서버에 파일을 요청을하면 외부 웹 서버가 내부 웹 서버에 있는 파일을 가지고와서 외부 웹 서버를 통해서 외부 사용자에게 파일을 전달하고 싶습니다.

위와 같이 구성할 수 있는 방법있는지 문의 드립니다.


5개의 답변이 있습니다.

Genghis Khan
  0 추천 | 4년 이상 전

내부망과 외부망이 나눠졌으니  외부망 사용자가 외부망서버를 통해 내부망 서버 http(80, 8080,443) 또는

특정 port를 열어 서비스를 하고 싶다는거네요

간단하게  외부망-내부망 방화벽 설정만 하면 되겠네요

ex) 192.x.x.x(외부?)  -> 10.x.x.x.x (내부?) 방화벽 정책 한줄이면 될듯 합니다.

한그루
  0 추천 | 4년 이상 전

웹서비스는 동일한 하나의 서비스 인거죠?

그렇다면 일반적으로 웹서버를 구축하는 3 tier 형태로 구축하면 됩니다. (Web - WAS - DB)

구매한 도메인을 통해 공인 IP로 접근하는 외부 사용자는 외부망(DMZ)에 있는 웹서버로 접근

내부 사설 IP로 접근하는(내부 DNS를 사용하는) 내부 사용자는 내부망에 있는 WAS 로 접근

Web , WAS 사이에는 통신하는 특정 포트 (AJP port 라고도 하는) 만 방화벽 열어 놓고

Web 설정에 들어오는 모든 HTTP, HTTPS 요청을 AJP Port 를 통해 모두 WAS로 전달 하도록 설정

이렇게 많이 합니다. 저희도 이렇게 사용하고 있어요.


shiphopk84 | 4년 이상 전

기존에는 내부망 외부망 관계 없이 User > WAS > DB 이렇게 구성을 하는데 현재는 user - Web Server - WAS - DB 이렇게 구성되어야 됩니다. User는 외부망(ISP)에 있는 사용자 입니다. Web Server는 외부망(공인IP)에 있는 Web Server, 외부 서버O/S 입니다. WAS는 내부망(폐쇄망IP)에 있는 WAS, 내부 서버 O/S 입니다. 내부 사용자는 없습니다. 동작 방식 외부 User > 외부 Web Server > 내부 WAS > 내부 DB 이렇게 구성 해야됩니다. 외부 User는 외부 Web Server 만 통신되어야 됩니다. 외부 Web Server 와 내부 WAS와 통신이 이루어지고 데이터 주고 받습니다. WAS에 A.war(WAR(Web application ARchive, 웹 애플리케이션 아카이브) java 소스가 있습니다.

한그루 | 4년 이상 전

네 말씀하신 부분이 제가 설명한 방식이랑 완전히 똑 같은거 같습니다. WAS 서버는 Web 서버와 통신하는거고 접속자들은 WAS 에 붙는게 아니라 web 서버에 붙는거죠. 그렇게 구축 하시면 되겠습니다. 예를들어 Web(아파치)와 WAS(톰캣) 에 통신하도록 하는 관련 설정이 있습니다. 두 서버 사이에 모든 통신은 막고 허용할 포트만 열고 그포트는 Web, WAS 간의 통신만 허용하면 되겠습니다. 매우 일반적인 방식입니다. 잘 구축 되시길 바랍니다.

한그루 | 4년 이상 전

추가로 웹서버에는 아무런 소스가 없어도 됩니다. 이미지 같은 동적 화일을 올려도 되구요. WAS 에 와르화일 올리시구요. 참고하세요. https://www.lesstif.com/pages/viewpage.action?pageId=12943367

shiphopk84 | 4년 이상 전

정말 감사합니다!
차바라기
  0 추천 | 4년 이상 전

외부 내부 Data를 주고 받으시려면 방화벽에 일단 외부 IP를 통신할수있게 Role적용을 해줘야 합니다. 그리고 내부IP도 같이 등록을 해서 통신을 할수 있도록 말이죠~

wansoo
  0 추천 | 4년 이상 전

내부에 있는 웹서버를 외부에서 접근할 수 있게 하려면...

내부 웹서버에 공인 IP를 넣어서 접속할 수 있게 만드는 게 가장 간단한 방법이

아닐까 싶고요.

내부 웹서버에다 두개의 네트워크 인터페이스를 구성해서 하나는 외부에서 접속할 수있게 공인 IP를 할당해서 사용하고, 또 다른 한개는 내부 사설 IP를 할당해서 내부에서 접속하는 용도로 사용하고...


방화벽이나 인터넷 공유기 등의 포트 포워딩 기능을 이용해서 내부 웹서버에 접속하게 하는 방법도 하나의 방법이 될 수 있겠고요.


외부 웹서버와 내부 웹서버가 통신이 되고, 다른 외부 시스템에서는 내부 웹서버에 접근되지 않아야 하거나 접근할 필요가 없는 경우라면 외부 웹서버와 내부 웹서버 사이에 VPN 망을 구성해서 통신하게 하는 방법도 있겠고요.


내부 웹서버를 외부에 있는 서버와 내부 시스템 간의 중계 역할을 하는 용도로 사용하려는게 아닌가 하는 느낌인데요.

외부 서버에서 내부 서버에 접근하는 방식이 아니라, 내부 서버에서 외부 서버로 접속해서 자료를 가져오거나 어떤 액션을 하도록 명령을 전달하는 방식으로 구현해도 되지 않을까 싶기도 하네요.

두 서버간의 프로토콜을 정해서 내부 서버가 외부에 있는 서버에 원격 지령하는 형태로 구동 시키는 방법으로...

deerokgo
  0 추천 | 4년 이상 전

인프라 담당자분 통해서

방화벽 설정 변경하면 됩니다