Apache 2 mod_proxy 사용하기
작업2009. 1. 5. 19:22
회사의 한 서버에 tomcat과 rails를 같이 사용할 일이 생겼다.
rails는 passenger를 사용하면 되지만 passenger를 사용하게 되면 apache가 port 80을 점유하므로 tomcat 서비스는 port 80을 사용할 수 없게 된다.
이를 해결할 수 있는 방법으로 mod_proxy를 선택하였다.
VirtualHost를 하나 생성하고 그 설정 안에 mod_proxy의 설정을 한다.
a2enmod 명령으로 proxy 모듈과 proxy_http 모듈을 활성화 한다.
이제 Apache2를 재시작하고 웹브라우저에서 service.mydomain.com으로 연결하면 서버의 port 8080에 동작중인 tomcat에 연결된다.
이렇게 tomcat 서비스를 사용할 경우 tomcat 서비스의 소스를 좀 수정해야하는 경우가 생긴다. Reverse Proxy이기 때문에 약간 골치 아프긴하다.
rails는 passenger를 사용하면 되지만 passenger를 사용하게 되면 apache가 port 80을 점유하므로 tomcat 서비스는 port 80을 사용할 수 없게 된다.
이를 해결할 수 있는 방법으로 mod_proxy를 선택하였다.
VirtualHost를 하나 생성하고 그 설정 안에 mod_proxy의 설정을 한다.
<VirtualHost 192.168.2.60:80>
ServerAdmin webmaster@mydomain.com
ServerName service.mydomain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost On
...
</VirtualHost>
ServerAdmin webmaster@mydomain.com
ServerName service.mydomain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost On
...
</VirtualHost>
a2enmod 명령으로 proxy 모듈과 proxy_http 모듈을 활성화 한다.
root@forcemax:/root# a2enmod proxy
root@forcemax:/root# a2enmod proxy_http
root@forcemax:/root# a2enmod proxy_http
이제 Apache2를 재시작하고 웹브라우저에서 service.mydomain.com으로 연결하면 서버의 port 8080에 동작중인 tomcat에 연결된다.
이렇게 tomcat 서비스를 사용할 경우 tomcat 서비스의 소스를 좀 수정해야하는 경우가 생긴다. Reverse Proxy이기 때문에 약간 골치 아프긴하다.