아파치2 멀티도메인 질문입니다.

아파치2 멀티도메인 질문입니다.

QA

아파치2 멀티도메인 질문입니다.

답변 2

본문

일반적으로 

가상호스트(443) 설정에서

 

AAA.com 은 디렉토리 AAA에 연결을 하였고,

BBB.com 은 디렉토리 AAA<BBB (위에AAA하부폴더)에 연결하려 합니다.

그런데 AAA.com 과 BBB.com 의 conf 파일은 한개로 쓸려고 합니다.

 

AAA.com 은 일반 웹사이트로 운영을 할계획이고, 

BBB.com/CCC.com/DDD.com/EEE.com~ ZZZ.com 등등 도메인은 BBB폴더에 연결해서

AAA.com 을 아이프레임으로 불러올 계획입니다. 

그리고 AAA/BBB 밑 하부폴더들도 접근이 가능해야 합니다..

 

- x프레임은 해제했습니다. 

- 퍼미션 에러가 발생하는데 퍼미션은 문제가 없는걸로 보입니다. 전부 root 로 잡아서 테스트했습니다.

- 현재 설정된conf 파일입니다.

 


<VirtualHost *:443>
    ServerName AAA.com
    ServerAlias www.AAA.com BBB.com CCC.com DDD.com
    
    DocumentRoot /AAA/
    <Directory /AAA/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        require all granted
    </Directory>

</VirtualHost>
<VirtualHost *:443>
    ServerName BBB.com
    ServerAlias www.BBB.com 
    
    DocumentRoot /AAA/BBB/
    <Directory /AAA/BBB/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        require all granted
    </Directory>

</VirtualHost>
<VirtualHost *:443>
    ServerName CCC.com
    ServerAlias www.CCC.com 
    
    DocumentRoot /AAA/CCC/
    <Directory /AAA/CCC/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        require all granted
    </Directory>

</VirtualHost>

 

설정이 어떻게 되야 하는지 아파치2 고수님이 계시면 팁좀 주실수있을까요?

이 질문에 댓글 쓰기 :

답변 2

아파치 웹 서버에서 여러 도메인을 하나의 VirtualHost 설정에 통합하고 싶으신 경우, 설정을 조금 조정해야 합니다. 설명하신 바에 따르면 AAA.com은 기본 디렉토리 /AAA/에 연결되며, BBB.com, CCC.com, DDD.com 등은 /AAA/BBB/, /AAA/CCC/ 등 각각의 하위 디렉토리에 연결되기를 원합니다. 각 도메인이 서로 다른 콘텐츠를 제공하면서도 같은 VirtualHost 설정을 공유하길 원하시는 것으로 보입니다.

현재 제공하신 설정에서는 각 도메인에 대해 별도의 VirtualHost를 구성하고 있습니다. 하나의 VirtualHost로 이를 통합하고 싶다면, 다음과 같은 방법을 고려할 수 있습니다:

URL 리라이트를 사용한 방법

이 방법은 모든 도메인을 하나의 VirtualHost로 처리하되, 요청된 호스트 이름에 따라 다른 디렉토리로 내부적으로 리다이렉트하는 방법입니다.

  1. 모듈 활성화

    • 먼저, mod_rewrite 모듈이 활성화되어 있는지 확인합니다. 이는 URL을 조건에 따라 다시 작성하는 데 사용됩니다.
  2. 하나의 VirtualHost 설정

    • 모든 요청을 처리할 수 있도록 하나의 VirtualHost 블록 내에서 조건에 따라 다르게 처리합니다.

<VirtualHost *:443>
    ServerName AAA.com
    ServerAlias www.AAA.com BBB.com CCC.com DDD.com EEE.com ZZZ.com
    DocumentRoot /AAA/
    <Directory /AAA/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(BBB|CCC|DDD|EEE|ZZZ)\.com$
    RewriteRule ^(.*)$ /AAA/%1/$1 [L]
</VirtualHost>
 

이 설정은 BBB.com, CCC.com 등의 도메인에 대한 요청이 들어왔을 때, URL을 /AAA/BBB/, /AAA/CCC/ 등으로 내부적으로 리라이트합니다. %1RewriteCond에서 정규 표현식에 의해 캡처된 그룹(여기서는 도메인의 첫 부분, 예: BBB, CCC 등)을 참조합니다.

주의사항

  • 테스트 중요: 이러한 설정을 적용하기 전에는 반드시 테스트 환경에서 확인해 보세요.
  • 모듈 활성화 확인: mod_rewrite가 활성화되어 있지 않다면, Apache 설정에서 활성화해야 합니다.
  • 보안 설정: 각 디렉토리에 대한 접근 제어를 적절히 설정하고, .htaccess 파일을 통해 추가적인 보안 조치를 고려해야 합니다.

이 설정을 통해 여러 도메인에 대한 요청을 하나의 VirtualHost 설정으로 효율적으로 관리할 수 있습니다. 설정 후 Apache를 재시작하는 것을 잊지 마세요!

-----

With ChatGPT

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 19
© SIRSOFT
현재 페이지 제일 처음으로