아파치 리버스 프록시를 이용하는 방법을 주 내용으로하고
Virtualbox 나 VMWARE등의 버추얼머신을 사용하는 환경에서
Host OS와 Guest OS를 좀더 통일성있게 사용할 수 있는 방법에 대해 적었다.
목표 : NAT 하에있는 Guest OS 에도 Name based Virtualhost 를 이용할 수 있도록 한다.
호스트OS에서도 아파치, 게스트OS에서도 아파치를 사용하고
두 서버에서 모두 이름기반 가상호스트를 사용하고 싶다면 아래처럼 설정한다.
호스트OS에서 ㄱ
아파치 모듈 mod_proxy.so,mod_proxy_html.so 탑재.
httpd.conf 최하단에 아래 추가.
=====아래=======
ProxyRequests On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
=====아래=======
게스트OS는 포트기반의 가상호스트를 이용해 아파치서버를 켜고,
호스트에서 게스트의 가상호스트포트로 포트포워딩설정을 해준다. 예, 4123포트->80포트)
다시 호스트OS의 가상호스트설정에 아래와같이 추가
========아래==========
#!work
<VirtualHost *:80>
ServerName 서버네임
ProxyPass / http://localhost:4123/
ProxyPassReverse / http://localhost:4123/
</VirtualHost>
========아래==========
호스트 아파치 재시작, 테스트.
결과 : 게스트OS로의 직접적인 이름기반 가상호스트서비스를 이용할 수 는 없으나, 아파치 리버스프록시를 이용한 name based http forwording 을 사용하였다.
결과적으로 결과적으로 호스트의 이름기반 가상호스트에 접속하면 그 가상호스트를 통해 내부의 다른 포트로 포워딩 시켜주는 역할을 하도록 설정하였다. (체감속도는 약간 느려진 느낌.)