티스토리 뷰

728x90
반응형
Virtual Host(가상 호스트)는 하나의 서버에서 여러 웹사이트를 서비스함을 의미합니다.
예시로 기존 서버를 www.aaa.com을 운영하고 있는데 서비스가 다른 www.bbb.com을 웹서버로 추가하여 운영을 하고자 한다 했을 경우
서버는 한대이고 , IP도 하나입니다.
두 도메인은 같은 ip로 설정되어 있는데, 각각의 도메인으로 접속을 했을 때는 서로 다른 화면을 보여주려고 한다면 어떻게 해야할까요?
이럴 경우 사용하는 것이 Virtual Host입니다.
예시)
실습 환경 CentOs 7
방화벽 - off
Apache/2.4.6
먼저 apache httpd 설정 경로로 이동합니다(apache는 nginx와 동일한 역할)
경로 : /etc/httpd/conf.d/

 

conf.d 폴더
특정 (파일명).conf 접속 또는 생성
기본 VIrtualHost 생성
<VirtualHost *:80>
    ServerName www.aaa.com ## 도메인 이름
    ServerAlias aaa.com ## 도메인 가명
     
    JKMount /* utf8

    DocumentRoot "/" ## 루트 디렉토리 경로
    
    <Directory (루트 디렉토리 경로)>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    RewriteEngine on
    RewriteCond %{SERVER_NAME} = url(도메인) [OR] 
    RewriteCond %{SERVER_NAME} = url(도메인)
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URL} [END,NE,R=permanent]

    CustomLog ## 로그 생성 위치
    ErrorLog ## 에러 로그 생성 위치
</VirtualHost>

<VirtualHost *:443>
   ServerName www.aaa.com ## 도메인 이름
    ServerAlias aaa.com ## 도메인 가명
     
    JKMount /* utf8


    DocumentRoot "/" ## 루트 디렉토리 경로
    
    <Directory (루트 디렉토리 경로)>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    LogLevel warn
    
    SSLEngine on
    SSLProtocol All -SSLv2
    SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP:!kEDH:!aNULL
    
    SSLCertificateFile ~
    SSLCertificatekeyFile ~
    SSLCertificateChainFile ~

    <Files ~ "\.(cgi | shtml | |phtml | php3?$">
        SSLOptions +StdEnvVars
    </Files>


    CustomLog ## 로그 생성 위치
    ErrorLog ## 에러 로그 생성 위치
</VirtualHost>

<VirtualHost  *80>
        ServerName www.aaa.com ## 도메인 이름
    ServerAlias aaa.com ## 도메인 가명
    Redirect ## 이동할 도메인
</VirtualHost>

 

728x90
반응형
250x250
반응형
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함