CentOS의 httpd는 첫 번째 VirtualHost만 확인합니다.

CentOS의 httpd는 첫 번째 VirtualHost만 확인합니다.

방금 새 클라우드 서버를 얻었고 설정하는 동안 브라우저에서 내 서버의 IP 주소를 지정하여 웹 루트에 액세스할 수 있지만 도메인 이름이 계속 전파되고 있어서 해당 도메인으로 이동해도 해결되지 않습니다.

브라우저에서 내 서버의 IP 주소를 가리키면 실제로는 내가 설정한 첫 번째 VirtualHost로 확인됩니다.해서는 안 된다루트 폴더가 됩니다. 다음으로 이동하면 이 VirtualHost가 표시되어야 합니다.i주소/경로, 뿐만 아니라IP 주소.

서버 설정:
주인:Rackspace 클라우드 서버
운영체제:센트OS 6
가상호스트:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.wphax.com
    ServerAlias wphax.com *.wphax.com
    DocumentRoot /var/www/wphaxcom
    ErrorLog /var/www/wphaxcom/error.log
    CustomLog /var/www/wphaxcom/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.dnadvanced.com
    ServerAlias dnadvanced.com *.dnadvanced.com
    DocumentRoot /var/www/dnadvancedcom
    ErrorLog /var/www/dnadvancedcom/error.log
    CustomLog /var/www/dnadvancedcom/access.log combined
</VirtualHost>

이 문제의 원인이 무엇인지, IP 주소를 입력하여 루트 디렉터리에 액세스할 수 없지만 도메인 이름이 지정된 폴더로 올바르게 확인되도록 설정하는 방법은 무엇입니까? 감사해요.

답변1

로부터이름 기반 가상 호스트 지원Apache 서버 문서의 기사:

IP 기반 가상 호스트는 연결의 IP 주소를 사용하여 서비스를 제공할 올바른 가상 호스트를 결정합니다. [...]

이름 기반 가상 호스팅은 일반적으로 더 간단합니다. 각 호스트 이름을 올바른 IP 주소에 매핑하도록 DNS 서버를 구성한 다음 다른 호스트 이름을 인식하도록 Apache HTTP 서버를 구성하기만 하면 되기 때문입니다. [...]

IP 주소를 직접 지정하면~이다기본적으로 구성 파일에 나열된 첫 번째 가상 호스트를 선택합니다. 구성 파일에 IP 주소를 지정하지 않았기 때문에 해당 호스트는 모든 IP를 수신하고 있습니다. Apache가 제공할 웹사이트를 결정하는 방법은 클라이언트 요청의 HTTP 헤더에서 수신된 정보에 따라 결정됩니다.

독립적인 IP 주소 또는 다른 포트 번호(예: 두 번째 포트를 포트 81로 설정)를 통해 두 가상 호스트에 모두 액세스할 수 없는 경우 도메인 이름 변경 사항이 전파될 때까지 기다려야 합니다.


만약 너라면정말지금 서버를 테스트해야 하는 경우 각 요청 후에 HTTP 헤더를 수동으로 수정해 볼 수 있습니다(다음과 같은 방법 사용).데이터 조작Firefox용 애드온) Apache가 브라우저에 적절한 페이지를 제공하도록 합니다.

관련 정보