Network

리버스 프록시 뒤에서 동작하는 https

Superkill 2018. 7. 12. 14:39
반응형

보통 리버스 프록시 환경을 구축할 때
프록시 서버로는 apache나 nginx 같은 것을 사용하고
그 뒷단에 웹 서버를 비롯하여 다양한 애플리케이션 서비스를 올린다.

이렇게 하면 애플리케이션 서비스의 서버 정보를 감출 수도 있고
요청을 분산시켜서 로드밸런싱 기능을 구현할 수도 있다.

리버스 프록시 환경에서는 일반적으로 프록시단 까지만 암호화 연결(https)을 적용하고 프록시 뒷단으로는 암호화 되지 않은 트래픽(http)로 통신하는 것으로 구현한다.

프록시 뒤로 지나가는 트래픽에 대해 보안이 적용되지 않았다는 점이 마음에 걸리긴 하지만 이렇게 하면 프록시 뒷단까지 암호화 연결을 적용하는 것에 비해서 부하는 적게 들것 같다.

그렇다면 어떤 경우에 프록시 뒷단의 암호화가 필요할지 궁금해서 검색을 한 결과 다음과 같은 사례를 발견했다.

하나의 서버 컴퓨터에 ngninx와 tomcat 서버를 돌립니다.
nginx는 리버스 프록시로 tomcat으로 어플리케이션을 서비스하고 있는데
nginx에만 ssl을 적용하고 암호화 되지 않은 트래픽을
tomcat으로 프록싱 하고있습니다.

트래픽이 늘어나면서 퍼포먼스 문제를 해결하기 위해
다른 서버 컴퓨터로 tomcat 서버를 옮기려 하는데
이 경우 nginx 프록시와 tomcat 서비스 사이에 보안이 필요할까요?

이 경우에는 nginx 프록시 서버와 tomcat 서버가 떨어져 있고 둘 사이의 통신이 스니핑 당할 가능성이 존재 하므로 https를 적용해야 한다.

만약 하나의 서버 컴퓨터에 nginx와 tomcat 서비스들이 실행중이라면
암호화도 꽤 부담이 되는 작업이기 때문에 퍼포먼스 측면에서
굳이 프록시 뒷단으로 나가는 통신에 대해 암호화할 필요는 없을 것 같다.


'Network' 카테고리의 다른 글

PKIX Path Building Failed  (0) 2018.07.19
openssl을 이용하여 pem 인증서를 pkcs12로 변환  (0) 2018.07.05