设置 Apache 以阻止对特定子域的 HTTPS 请求

设置 Apache 以阻止对特定子域的 HTTPS 请求

我有这些域名

domain.com
www.domain.com
srv.domain.com

指向相同的服务器 IP,但希望我的网站只能通过 和 访问,domain.com这两www.domain.com个子域都具有 SSL 证书。我运行一个通过 访问的基于 TCP 的服务srv.domain.com;它没有 SSL 证书,但目前我仍然可以通过此子域访问该网站。

我应该如何配置 Apache 以便它阻止对该特定子域的 HTTPS(和 HTTP)请求?

我的配置如下:

000-默认.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-默认-le-ssl.conf:

<IfModule mod_ssl.c>
  <VirtualHost *:443>
    ServerName domain.com
    ServerAlias www.domain.com
    DocumentRoot /var/www/html
    AllowEncodedSlashes NoDecode

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

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>

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

相关内容