특정 하위 도메인에 대한 HTTPS 요청을 차단하도록 Apache 설정

특정 하위 도메인에 대한 HTTPS 요청을 차단하도록 Apache 설정

나는 이러한 도메인 이름을 가지고 있습니다

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

관련 정보