개발 - WEB, WAS, DB
Apache 1개 - Tomcat 여러개 mod_proxy 설정 방법
개미v
2022. 1. 2. 17:39
반응형
1개 서버에서 여러개의 서비스를 하고 싶을 때, Apache1개 - Tomcat 여러개를 설정하는 mod_proxy 방법 입니다.
참고로 Apache와 Tomcat을 연동하는 방법은 3가지가 있는데, 여기서는 mod_proxy 방법에 대해서 설명합니다.
1. AJP
2. mod_proxy
3. mod_proxy_ajp
AJP 방법은 아래 링크에서 설명 하였습니다.
설계
제가 서비스 할 것은 4개 입니다.
각각 도메인이 구분됩니다.
Apache에서 Tomcat으로 포워딩 되는데, Tomcat 마다 서비스 포트를 다르게 설정 합니다.

[Apache] conf/httpd.conf
mod_proxy 모듈을 사용하고, 관련된 설정 파일의 경로를 명시합니다.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
[Apache] conf/extra/httpd-vhosts.conf
어떤 URL로 접속했을 때 어떤 톰캣 서비스 포트로 포워딩 해라 라는 설정입니다.
<VirtualHost *:80>
ServerName www.eoeca.com
ServerAlias eoeca.com
ProxyPass / http://localhost:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias domain.com
ProxyPass / http://localhost:8081/
</VirtualHost>
<VirtualHost *:80>
ServerName sso.domain.com
ProxyPass / http://localhost:8082/
</VirtualHost>
<VirtualHost *:80>
ServerName secret.domain.com
ProxyPass / http://localhost:8083/
</VirtualHost>
[Tomcat] conf/server.xml
Tomcat의 서비스 포트를 활성화 합니다.
각 Tomcat마다 서비스 포트를 각각 포트(8080, 8081, 8082, 8083)에 맞게 설정해줘야 합니다.
저는 apache와 tomcat이 같은 서버이기 때문에 address="localhost" 로 설정 했습니다.
그러면 외부에서 Tomcat의 서비스 포트로 접속을 못하고, 로컬에서만 Tomcat의 서비스 포트로 접속 가능합니다.
<Connector port="8080" protocol="HTTP/1.1"
address="localhost"
connectionTimeout="20000"
redirectPort="8443" />
반응형