기본 Apache2 가상 호스트 구성이 작동하지 않습니다.

기본 Apache2 가상 호스트 구성이 작동하지 않습니다.

Apache2의 가상 호스트 구성에 작은 문제가 있습니다.

컨텍스트: Apache2가 설치된 Raspberry Pi가 있습니다. 내 테스트 디렉터리인 "/var/www/html/test"에 액세스하고 싶습니다.

그래서 아래와 같이 "/etc/apache2/sites-available"에서 000-default.conf를 수정했고 이것이 작동했습니다.

 <VirtualHost *:80>

            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

    </VirtualHost>


    NameVirtualHost 192.168.1.29:80

    <VirtualHost 192.168.1.29:80>
    ServerName raspyvan
    DocumentRoot /var/www/html/test
    </VirtualHost>



    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

(raspyvan은 내 라우터 및 호스트 파일의 서버 이름입니다)

하지만 IP 주소 "192.168.1.29"에 대한 액세스를 거부하겠습니다.

그래서 000-default.conf 파일을 다음과 같이 두 번째로 수정했습니다.

Listen 192.168.1.29:80

ServerName DefaultServer
DocumentRoot /var/www/html

NameVirtualHost 192.168.1.29:80


<VirtualHost 192.168.1.29:80>
        ServerName 192.168.1.29

        <Directory />
                Deny from all
        </Directory>
</VirtualHost>


<VirtualHost 192.168.1.29:80>
                ServerName raspyvan
                DocumentRoot /var/www/test
</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

이제 문제는 IP와 호스트 이름에 의해 액세스가 거부되는데 그 이유를 모르겠습니다.

편집: 내 이름 서버는 DNS 라우터 구성 및 호스트 아파치 파일에 적용됩니다.

답변1

Apache가 가상 호스트와 일치할 수 없으면 항상 처음 만나는 가상 호스트를 사용합니다(이것이 역사적으로 sni가 등장할 때까지 SSL 인증서당 하나의 IP가 필요했던 이유입니다).

각 가상 호스트에 대한 로그를 추가하십시오.

ErrorLog ${APACHE_LOG_DIR}/error-default.log
CustomLog ${APACHE_LOG_DIR}/access-default.log combined

그리고

ErrorLog ${APACHE_LOG_DIR}/error-raspyvan.log
CustomLog ${APACHE_LOG_DIR}/access-raspyvan.log combined

요청된 호스트 이름을 보려면 "access-default.log" 로그 파일을 확인하세요.

관련 정보