나를 기본 도메인 Apache2로 리디렉션하는 하위 도메인

나를 기본 도메인 Apache2로 리디렉션하는 하위 도메인

Apache 서버에서 실행되는 웹사이트가 있습니다. 하위 도메인을 방문하려고 하면 기본 도메인으로 리디렉션됩니다.

Apache 구성 파일은 다음과 같습니다.

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

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

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

이 문제를 어떻게 해결할 수 있나요?

답변1

Apache는 웹 요청을 파일 시스템에 나타나는 순서대로 구성된 도메인과 일치시키려고 시도합니다.그리고구성 파일 내에서. 경험에 따르면, 처리되지 않은 모든 트래픽에 대해 "포괄적" 역할을 하도록 구성되어야 하는 기본 사이트보다 먼저 하위 도메인을 처리하는 것이 좋습니다.

이를 염두에 두고 구성 파일을 다음과 같이 업데이트할 수 있습니다.

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com *.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

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

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

노트:

  1. 업데이트된 구성 파일은 잘못된 www.government-jobs.azaanjobs.com.com값을 ServerAlias적절한 .com참조 로 대체합니다.
  2. *.azaanjobs.com"예기치 않은" 트래픽을 캡처하여 가능한 위치로 라우팅하기 위해 별칭이 기본 도메인에 추가되었습니다 .
  3. 에 대한 기본 사이트에는 구성이 없는 것 같습니다 *:80. 이는 서버 앞의 항목이 비SSL 트래픽을 SSL을 사용하도록 변환하지 않는 경우 문제가 될 수 있습니다.
  4. 하위 도메인은 여전히 ​​port 에서 수신 대기 중이므로 방문자가 브라우저에서 포트를 지정하지 않고 사이트를 볼 수 있으려면 8080이를 업데이트해야 합니다.*:80

구성 파일을 변경한 후에는 Apache를 다시 시작해야 합니다.

sudo service apache2 restart

이것은 당신에게 필요한 것을 제공할 것입니다

관련 정보