서브 도메인(Sub Domain) 설정을 위한 APACHE 설정 정리
도메인을 세분화하여 각각 서로 다른 사이트, 서비스에 연결하기 위함
가상 호스트 (Virtual Host)
: 하나의 서버에 여러 사이트나 서비스를 운영하는 기법
- IP주소를 갖는 'Name-based Virtual Host'
- 서버가 여러 개의 IP주소를 갖는 'IP-based Virtual Host' 기법
하나의 서버에서 여러 도메인 사용할 경우
<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 인증서가 있어야함
- VirtualHost 파일
- VirtualHost 부분의 443 포트 부분만 복사
- DocumentRoot 부분과 Directory 항목은 모두 삭제 (입력 시, 루트폴더를 여기로 가리키게됨)
- 사이트 다시 활성화 (a2ensite 도메인이름 + 아파치 재시작