[Apache Multi Domain] 아파치 멀티 도메인 : 이름기반 VirtualHost 설정

이름기반 VirtualHost 설정

하나의 서버가 여러개의 도메인을 가지고 있고, 각각의 도메인마다 다른 서비스를 하고 싶을 때 아파치의 VirtualHost를 사용하면 하나의 서버로 각기 다른 도메인을 서비스할 수 있다.


만약의 서버의 아이피가 192.168.0.5이고, 쇼핑몰 사이트와 책구매 사이트를 운영하고 싶다고 생각해보자.
우리는 두 개의 사이트를 운영해야하기 때문에 도메인을 2개 구입했다. (shopping.com, book.com) 이렇게되면 두개의 도메인은 둘다 192.168.0.5서버를 바라보게 된다.


하지만 우리는 shopping.com 으로 접속했을 때는 쇼핑몰 사이트를, book.com에 접속했을 때는 책 구매 사이트를 보여주고 싶다.
이럴 때 가상호스트(VirtualHost)를 사용하면 원하는대로 서비스를 제공할 수 있다.(Tomcat에서도 존재)


일단, Apache설정파일인 httpd.conf에서 VirtualHost 설정의 주석을 제거한다.

httpd.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

conf/extra/httpd-vhosts.conf 파일은 include하겠다 정도로 생각하면 될 거 같다. (httpd.conf에 바로 추가해도 동작하긴함)
그 후 httpd-vhosts.conf의 설정을 추가해보자.

httpd-vhosts.conf

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

<VirtualHost *:80>
        DocumentRoot "/home/corn/deploy/book/doc_base"
        ServerName book.com
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot "/home/corn/deploy/shopping/doc_base"
        ServerName shopping.com
</VirtualHost>
  • NamedVirtualHost : 가상호스팅을 할 IP영역을 지정
  • VirtualHost : 세부적인 설정 명시

NamedVirtualHost *:80 => 80포트로 들어오는 모든 IP주소에 대해 가상호스트 요청을 제공하겠다.

VirtualHost 설정

  • ServerName : 서비스할 도메인
  • DocumentRoot : 실제 소스파일이 있는 루트를 지정

이렇게 설정 후 shopping.com으로 request를 날릴 경우, /home/corn/deploy/shopping/doc_base 안에 있는 파일을 찾아가게 된다.


하지만 이 설정 이후에 한 가지 더 설정을 해야하는데 바로 접근권한에 대한 설정이다.
위의 설정 후에 아파치를 재시작하고 shopping.com에 접속하게되면 403 Forbidden 에러를 볼 수 있다.
shopping.com의 DocumentRoot인 /home/corn/deploy/shopping/doc_base 에 접근할 수 없다는 뜻인데, httpd.conf 파일의 <Directory> 태그에 설정을 해줘야 한다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow    // deny -> allow 순서
    Deny from all       // 모든 접속을 deny
</Directory>

httpd.conf 의 <Directory>설정을 보면 위와 같이 되어 있는 것을 볼 수 있다.
Order는 허용정책에 대한 순서로, Deny를 수행하고 Allow를 수행하게 되어 있는데, 아래줄에 모든 접속을 deny한다고 설정이 되어 있기 때문에 모든 접근이 거부된 것이다. (Directory 태그의 파라미터(/)는 전체 폴더를 뜻함)

Directory태그 아래에 우리가 접근해야할 Directory 설정을 추가해주자

<Directory "/home/corn/deploy/book/doc_base">
    Order Allow,Deny
    Allow from all
</Directory>

<Directory "/home/corn/deploy/shopping/doc_base">
    Order Allow,Deny
    Allow from all
</Directory>

이렇게하면, 우리가 설정한 DocumentRoot에 접근할 수 있게 된다.

[출처] https://blog.cornsworld.co.kr/348

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
998 A Look at REST API Design Patterns file 졸리운_곰 2021.03.14 120
997 서버 확장을 위한 두 가지 방법: 스케일 아웃과 스케일 업 file 졸리운_곰 2021.03.07 83
» [Apache Multi Domain] 아파치 멀티 도메인 : 이름기반 VirtualHost 설정 졸리운_곰 2021.02.13 541
995 Xampp virtualhost setting not working : Xampp Virtual Host: How to configure Virtual Host in Xampp file 졸리운_곰 2021.02.13 91
994 XAMPP 가상호스트 설정과 도메인 연결 file 졸리운_곰 2021.02.12 143
993 텍스트를 음성 mp3로 간단하게 변환하기 (With Naver Cloud Platform) : 딥러닝 몰라도 TTS 하는 법 file 졸리운_곰 2021.02.10 126
992 시각화 대시보드 를 만들기 위해 고려해야 하는 4가지 file 졸리운_곰 2021.02.10 178
991 gRPC 훑어보기 file 졸리운_곰 2021.02.10 105
990 [MSDOS app] 하늘 3.2 file 졸리운_곰 2021.01.29 82
989 한글 인코딩 정리 (자바를 중심으로) 졸리운_곰 2021.01.29 96
988 한글 도깨비 5.1 소프트웨어 버전 file 졸리운_곰 2021.01.26 194
987 아래아 한글 2.1 일반용 file 졸리운_곰 2021.01.26 85
986 아래아 한글 1.51 file 졸리운_곰 2021.01.26 91
985 NEMESIS Go Master 3.2 (바둑) file 졸리운_곰 2021.01.26 73
984 미니 한글 라이브러리 file 졸리운_곰 2021.01.26 121
983 한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리 file 졸리운_곰 2021.01.26 112
982 한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드 졸리운_곰 2021.01.26 86
981 한글 인코딩의 이해(유니코드) 완전 기초! file 졸리운_곰 2021.01.26 147
980 Quick Basic 4.5 file 졸리운_곰 2021.01.25 71
979 컴퓨터 속의 한글 도서 부록 디스켓 file 졸리운_곰 2021.01.25 75
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED