본문 바로가기
트러블슈팅/MW

[웹서버] Request Call 후에 Request가 들어오지 않을 경우 의심되는 부분

by sangyeon 2021. 7. 26.
728x90

다음은 L 사이트에서 있었던 이슈 사항이다.

 

요청 사항 : SunONE WebServer 6.1에 HTTPS 포트 추가하여 서비스를 하고 싶음.

이슈 사항 : HTTPS 11086 Listen 포트 추가 그러나 Request가 웹 서버 access 로그에 들어오지 않음.

 

결론부터 이야기해보자면, 허무하지만

가장 앞 단의 방화벽을 간과하고 있었고, 방화벽에서 443 포트가 뚫려있지 않아서 L4 까지 들어오지 않는 이슈였음.

 

- 아래는 L사이트 구성도 이다.

 

 

아마 대부분의 운영 환경에서는 위와 같은 방식으로 많이 사용할 것으로 보인다.

 

1. 방화벽에서 설정한 포트로만 L4 스위치로 들어올 수 있다. (port : 80, 443)

2. L4 스위치에는 등록된 웹 서버 정보로 Load Balancing 해준다.

3. 웹 방화벽 룰을 통해 80으로 들어오면 웹 서버의 HTTP 포트인 8080으로 Redirection 시키고

443으로 들어오면 웹 서버의 HTTPS 포트인 8443으로 Redirection 시켜준다.

(웹 방화벽에도 보통 인증서를 적용 시킨다. - 실제 클라이언트는 웹 방화벽 인증서를 본다.)

 

4. 웹 방화벽 Rewrite Rule을 통하여 80, 443 호출 시 각각의 포트로 맵핑 되어 request를 받는다.

5. 웹 서버는 각각의 Listen Port로 설정된 연동 설정을 통해 WAS로 Request를 보낸다.

 

이게 기본적인 Flow이다.

 

추가적인 이슈 사항은

SunONE 웹 서버의 SSL 프로토콜 지원 버전이 낮아서 보안이 강한 아이폰과 같은 사파리 웹에서는 SSL 프로토콜 문제로 CSS나 이미지 파일이 정상적으로 로드 하지 못하는 경우가 있다. (이미지나 CSS 파일이 됐다 안됐다 함)

 

해결 방법은 웹 방화벽에 SSL 프로토콜 지원이 높은 인증서를 배포하는 것이다.

-> 실제로 클라이언트에서 보는 인증서는 웹 방화벽 인증서이기 때문이다

 

실제로 클라이언트에서 보는 인증서는 웹 방화벽 인증서이지만, 웹 서버에도 인증서가 적용되어 있어야 한다. 그래야 HTTPS 통신이 정상적으로 이루어지는 것 같다..

 

어디가 문제인지 정확히 파악하기 위해서,

무지로 인한 삽질의 시간을 줄이기 위해서는

작업 전에 전체적인 구성도나 그림을 파악하는 것이 정말로 중요하다는 것을 다시 한 번 느끼는 이슈였다.

728x90