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>
노트:
- 업데이트된 구성 파일은 잘못된
www.government-jobs.azaanjobs.com.com
값을ServerAlias
적절한.com
참조 로 대체합니다. *.azaanjobs.com
"예기치 않은" 트래픽을 캡처하여 가능한 위치로 라우팅하기 위해 별칭이 기본 도메인에 추가되었습니다 .- 에 대한 기본 사이트에는 구성이 없는 것 같습니다
*:80
. 이는 서버 앞의 항목이 비SSL 트래픽을 SSL을 사용하도록 변환하지 않는 경우 문제가 될 수 있습니다. - 하위 도메인은 여전히 port 에서 수신 대기 중이므로 방문자가 브라우저에서 포트를 지정하지 않고 사이트를 볼 수 있으려면
8080
이를 업데이트해야 합니다.*:80
구성 파일을 변경한 후에는 Apache를 다시 시작해야 합니다.
sudo service apache2 restart
이것은 당신에게 필요한 것을 제공할 것입니다