728x90
가상 호스트
Web Server에 기본적으로 존재하는 host인 Main Host를 제외한 나머지 host를 Virtual Host라고 한다.
하나의 Web Server에는 Main Host 외에 별도의 디렉터리를 가진 여러개의 Host를 설정하여 사용할 수 있다.
1. 가상 호스트 설정
가상 호스트 설정은 httpd.conf 파일과 httpd-vhosts.conf 파일을 httpd.conf 파일에 include하여 설정이 가능하다.
여러 도메인을 관리하는 경우 httpd-vhosts.conf 파일을 사용하는 것이 좋다.
1.1. Vhost 설정
- httpd.conf 파일에서 httpd-vhosts.conf include 설정
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
- httpd-vhosts.conf 파일 설정
옵션 | 설명 | 비고 |
DocumentRoot | Virtual Host가 서비스하게 될 HTML 문서가 있는 최상위 디렉터리 설정 | 필수 |
ServerName | Virtual Host에 접근할 때 사용자가 사용할 호스트 이름 설정 | 필수 |
ServerAlias | ServerName에 설정한 호스트 이름 외에 추가로 설정하는 경우 설정 | 선택 |
ErrorLog | 서비스 에러 로그 | 선택 |
CustomLog | Access 로그 | 선택 |
<VirtualHost *:80>
DocumentRoot "/sw/web/apache/htdocs/test"
ServerName www.test2.co.kr
ServerAlias test2.co.kr
ErrorLog "logs/test_error_log"
CustomLog "logs/test_access_log" common
</VirtualHost>
1.2. Vhost SSL 설정
SSL 설정 전에 mod_ssl module이 추가되어 있어야 한다.
mod_ssl은 openssl을 이용하여 SSL이나 TLS 프로토콜 암호화를 해주는 Apache 모듈이다.
$ vi httpd.conf
LoadModule ssl_module modules/mod_ssl.so
- httpd-vhost.conf 파일 SSL 설정 예시
옵션 | 내용 |
SSLEngine | SSL/TLS 프로토콜 엔진 사용 여부 설정 |
SSLProxyEngine | 프록시를 이용한 SSL/TLS 프로토콜 엔진 사용 여부 설정 |
SSLProtocol | SSL/TLS 사용 가능한 프로토콜 설정 |
SSLCertificateKeyFile | 서버 인증서 key 경로 설정 |
SSLCertificateFile | 서버 인증서 경로 설정 |
SSLCACertificateFile | Root CA 인증서 경로 설정 |
<VirtualHost *:443>
DocumentRoot "/sw/web/apache/htdocs/test"
ServerName www.test2.co.kr
ErrorLog "logs/test_error_log"
CustomLog "logs/test_access_log" common
SSLEngine on
SSLProxyEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateKeyFile "/sw/web/apache/ssl/server.key"
SSLCertificateFile "/sw/web/apache/ssl/server.crt"
SSLCACertificateFile "/sw/web/apache/ssl/rootca.crt"
</VirtualHost>
1.3. Vhost 리소스 분리
- JKMount에 설정한 경로는 WAS에서 처리하게 됨
- 나머지 경로에 대해서는 해당 vhost에서 처리
- httpd-vhost.conf 파일 설정 예시
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/sw/web/apache/htdocs/test"
ServerName www.test2.co.kr
ServerAlias test2.co.kr
ErrorLog "logs/test_error_log"
CustomLog "logs/test_access_log" common
JkMount /*.jsp was1
</VirtualHost>
1.4. Vhost docroot 설정
- DocumentRoot 설정, httpd.conf 설정 파일에서 <Directory "source 경로">를 설정하지 않으면 접근이 허가 되지 않음
- httpd-vhost.conf 파일 설정 예시
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/sw/web/apache/htdocs/test"
ServerName www.test2.co.kr
ServerAlias test2.co.kr
ErrorLog "logs/test_error_log"
CustomLog "logs/test_access_log" common
JkMount /*.jsp was1
</VirtualHost>
728x90
'WEB > Apache' 카테고리의 다른 글
[Apache] SSL 설정 (0) | 2025.03.12 |
---|---|
[Apache] Monitoring (0) | 2024.09.25 |
[Apache] Rewrite 설정 (0) | 2024.09.23 |
[Apache] 에러 모음집 (0) | 2024.05.08 |
[Apache] WAS 연동 (0) | 2024.04.22 |