HTTP Proxy는 어디에 쓸까 많이 과거에 의문이 들었었는데 막상 회사를 그만두고 엄청난 인프라가 없는 조그마한 작업실을 꾸리다보니 우리처럼 IP가 하나 밖에 없고 여러 플랫폼의 웹서버가 돌아가는 경우 이를 외부에 제공을 할 때 유용하게 쓰일 수 있을 것 같다.
기존의 구성에서 변경될 사항을 최소한으로 하기 위해서 우리는 HTTP 포트가 열린 Apache 서버 하나만을 추가를 했다. 오히려 이런 식으로 구성하는 편이 다른 서버들은 외부로 직접적으로 공개시키지 않아서 보안적으로도 조금은 신경 쓸 것이 사라져서 좋다.
HTTP Proxy를 사용하기 위해서는 2가지 모듈이 필요하다.
- mod_proxy
- mod_proxy_http
- mod_vhost_alias
이를 구성한 http.conf 내용을 보도록 하자.
1: LoadModule proxy_module modules/mod_proxy.so
2: LoadModule proxy_http_module modules/mod_proxy_http.so
3: #LoadModule rewrite_module modules/mod_rewrite.so
4: LoadModule vhost_alias_module modules/mod_vhost_alias.so
5:
6: NameVirtualHost *:80
7:
8: <VirtualHost *:80>
9: ServerName proxy.source.com
10:
11: <Proxy *>
12: Order deny,allow
13: Allow from all
14: </Proxy>
15:
16: ProxyRequests Off
17: ProxyPreserveHost On
18: ProxyPassMatch ^(/.*)$ http://proxy.target.com$1
19: </VirtualHost>
이처럼 VirtualHost를 필요에 의해서 여러 개로 생성할 경우 플랫폼에 구애받지 않고 IP 한개로 여러 서비스를 외부로 노출 시킬 수 있다.
이렇게 쓰다가 NTLM과의 문제가 있어서 IIS APR로 변경.
답글삭제http://www.iis.net/extensions/ApplicationRequestRouting