Thoughts, stories and ideas.

Apache 서브도메인

서브 도메인(Sub Domain) 설정을 위한 APACHE 설정 정리
도메인을 세분화하여 각각 서로 다른 사이트, 서비스에 연결하기 위함

가상 호스트 (Virtual Host)
: 하나의 서버에 여러 사이트나 서비스를 운영하는 기법

  1. IP주소를 갖는 'Name-based Virtual Host'
  2. 서버가 여러 개의 IP주소를 갖는 'IP-based Virtual Host' 기법
Apache Virtual Host documentation - Apache HTTP Server Version 2.2

하나의 서버에서 여러 도메인 사용할 경우

<VirtualHost *:80>
     ServerName www.rpaman.ai
     DocumentRoot /var/www/rpaman
 </VirtualHost>
  
 <VirtualHost *:80>
     ServerName sub.rpaman.ai
     DocumentRoot /var/www/rpaman2
 </VirtualHost>

서브 도메인에서 여러 서버를 사용할 경우
<VirtualHost *:80>                                                            
	ServerName test.abc.com
	ProxyPass / http://abc.com:80/
  	ProxyPassReverse / http://abc.com:80/
</VirtualHost>

Apache2 의 프록시 관련 모듈 활성화

a2enmod proxy
a2enmod proxy_http

# Available 사이트를 Enable로 활성화
a2ensite 도메인이름 (test.abc.com)

# 아파치 재시작
systemctl reload apache2

사이트 활성화 및 아파치 재시작

sudo a2ensite my-site
sudo service apache2 restart

SSL 연결을 위한 추가 설정

작업 진행 전 이미 서브도메인에 발급된 SSL 인증서가 있어야함

  1. VirtualHost 파일
  2. VirtualHost 부분의 443 포트 부분만 복사
  3. DocumentRoot 부분과 Directory 항목은 모두 삭제 (입력 시, 루트폴더를 여기로 가리키게됨)
  4. 사이트 다시 활성화 (a2ensite 도메인이름 + 아파치 재시작

참고

Apache2 환경설정 생성기 | 웹마스터카페
webmaster cafe