나는 이러한 도메인 이름을 가지고 있습니다
domain.com
www.domain.com
srv.domain.com
동일한 서버 IP를 가리키지만 내 웹사이트는 domain.com을 통해서만 액세스할 수 있도록 하고 싶습니다.www.도메인.comSSL 인증서가 있습니다. srv.domain.com을 통해 액세스되는 TCP 기반 서비스를 실행하고 있는데 SSL 인증서가 없지만 현재 해당 하위 도메인을 통해 사이트에 계속 액세스할 수 있습니다.
이 특정 하위 도메인에 대한 HTTPS(및 HTTP) 요청을 차단하도록 Apache를 어떻게 구성해야 합니까?
내 구성은 다음과 같습니다.
000-default.conf:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/html
AllowEncodedSlashes NoDecode
RewriteEngine on
RewriteCond %{SERVER_NAME} =domain.com [OR]
RewriteCond %{SERVER_NAME} =www.domain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
000-default-le-ssl.conf:
<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/html
AllowEncodedSlashes NoDecode
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</VirtualHost>
답변1
원하는 각 도메인에 대해 특별히 가상 호스트를 생성하십시오. *:443
그렇지 않으면 *:80
아파치에 가상 호스트가 없습니다.srv.domain.com