지식 공유 2025.10.30 10:51

WEB(Apache) WAS(Tomcat) Reserve Proxy 방식 연동하기

김선호
조회수 2886
## 기본 개념 1. 사용자는 https://example.com (80/443, Apache로 진입) 2. Apache가 받아서 내부의 Tomcat으로 대신 요청을 보내줌 (http://127.0.0.1:8080) 3. Apache는 Tomcat 응답을 다시 클라이언트에게 전달 *** ## Tomcat 준비 conf/server.xml안에 설정 ``` ``` ## Apache httpd 모듈 켜기 리눅스 계열(예: Rocky/Ubuntu 등)은 보통 /etc/httpd 또는 /etc/apache2 아래 있고, 윈도우면 Apache24/conf/httpd.conf 안에 모듈 로드하는 라인이 있다. ``` LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule headers_module modules/mod_headers.so ``` mod\_headers는 나중에 Server 헤더 같은 거 숨길 때 쓸 거라 같이 켜두는 게 좋다. ## Apache 가상호스트(or httpd.conf)에 Reserve Proxy 설정 이제 Apache에게 "들어온 요청 그냥 Tomcat:8080으로 보내라" 라고 알려주면 끝. HTTP만 (80포트)인 경우 예시 아파치 설정 파일 어딘가(VirtualHost 블록) 혹은 그냥 httpd.conf에 아래 설정 추가 ``` ServerName mysite.local # 외부에서 접속할 도메인/호스트명 (없어도 돌아가긴 함) # 클라이언트 -> Apache -> Tomcat ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ # (선택) Tomcat 서버 정보 숨기기 Header unset Server Header unset X-Powered-By # (선택) 정적 파일은 Apache가 직접 서빙하고 싶으면 이런 식으로 location(Directory) 따로 줄 수도 있음 # Alias /static/ "D:/web/static/" ``` 이렇게 하면: - 사용자가 http://mysite.local/board/list 로 접근 - Apache가 내부적으로 http://127.0.0.1:8080/board/list 로 요청 넘김 - 응답을 그대로 돌려줌 HTTPS까지 (443포트, SSL 인증서 Apache에 적용) 하는 경우 ``` ServerName mysite.local SSLEngine on SSLCertificateFile "C:/Apache24/conf/ssl/mysite.crt" SSLCertificateKeyFile "C:/Apache24/conf/ssl/mysite.key" # 필요하면 중간체(체인) cert도 SSLCertificateChainFile 등으로 설정 ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ Header unset Server Header unset X-Powered-By ``` ## Apache 재시작 리눅스 (RHEL/Rocky/CentOS 계열 예): ``` sudo systemctl restart httpd ``` Ubuntu 계열은: ``` sudo systemctl restart apache2 ```

댓글 0

아직 댓글이 없습니다.
첫 번째 댓글을 남겨보세요!

댓글을 작성하려면 로그인이 필요합니다.

로그인하기