본문 바로가기

개발이야기

서브도메인 -> 포트로 아파치 내 Proxy 설정

인프라 비용이 클라우드다 뭐다 해서 저렴해졌다고 하지만 사실 그 비용도 쌓이다 보면 무시 못하죠. 

아끼고 아껴서 이제 서버 한대에서 여러개의 서비스를 돌립니다. 


그러려면 여러개의 WAS서버 또는 node서버를 띄워야 하고 그것을 접속할 수 있게 해줘야 하는데, 

예를 들면


http://address.hitouchsoft.com 은 Tomcat서버로 

http://www.hitouchsoft.com은 웹서버에서 

http://lib.hitouchsoft.com은 node서버로 


이것을 모두 한 서버에 띄워보려고 하는데 이때 각 서버들은 포트로 띄우고 

아마존의 경우 ELB를 설정하고 서버 도메인에 포트를 포워딩 되도록 하면 쉬운 얘기인데, 

ELB의 본연의 기능인 여러대의 서버라고 하면 필요하겠지만, 구지 그게 아니라면 

ELB도 한달에 만원은 나가기에 설정을 할 필요가 없는 것이죠. 


아파치 웹서버에서 이런 설정을 합니다. 

일단 

find / -name httpd

이렇게 하면 경로가 나오지요. 


/etc/httpd

경로에 들어가보면 conf 폴더가 있습니다. 

httpd.conf파일을 열어보면 


중간쯤에 VirtualHost 영역에 아래 한줄을 추가합니다. 

Include conf/extra/httpd-vhosts.conf


그리고 예상하시겠지만, extra폴더를 만들고

그안에서 httpd-vhosts.conf를 만드는 것이지요. 


그리고 짜잔 아래와 같이 추가를 합니다. 


NameVirtualHost *:80


<VirtualHost *:80>

    DocumentRoot /var/www/html

    ServerName "www.abc.com"

    ServerAlias "www.abc.com"

</VirtualHost>


<VirtualHost *:80>


    ProxyRequests Off

    ProxyPreserveHost On


    <Proxy *>

        Order deny,allow

        Allow from all

    </Proxy>

    ## myapp 설정

    ProxyPass / http://localhost:포트/

    ProxyPassReverse / http://localhost:포트/


    ServerName "서브도메인.abc.com"

    <Location />

        Order allow,deny

        Allow from all

    </Location>

</VirtualHost>


이렇게 하면 서브도메인.abc.com이 해당 포트로 포워딩이 됩니다. 


이 설정으로 인해서 기존에 사용하던 LB는 삭제를 하게 되었습니다. 그동안 잘 썼는데, 빠빠이 




'개발이야기' 카테고리의 다른 글

SVN서버 설치  (0) 2018.09.20
node.js 파일 백그라운드로 실행하기  (0) 2018.09.20
주소 검색 OpenAPI 공개  (0) 2018.09.09