我设置了 5 个域名。它们<VirtualHost *:80>
在非 SSL 下都有记录。每个域名在 ex 下都有自己的记录。
<VirtualHost 172.30.0.245:443>
ServerName www.acme.com
ServerAlias acme.com
,因为它们有不同的 IP 和 SSL 证书。这很好用。
我还有一个通用记录<VirtualHost *:80>
,位于文件 001-vhosts.conf 中。它会捕获不属于我的域的流量。如果它与我的某些域不匹配,它会返回 410。这也可以正常工作。如果我指向http://test.com
服务器的 IP,它会转到通用记录并返回 410。
问题是当我为 SSL 添加通用记录时<VirtualHost *:443>
。如果我打开https://test.com
它而不是通用记录匹配<VirtualHost 172.30.0.245:443>
。我希望不属于我的域的流量返回 410,无论是在 http 还是 https 上。我使用 AWS,有这样的流量很常见。
我错过了什么?
我设置了 5 个域名。它们<VirtualHost *:80>
在非 SSL 下都有记录。每个域名在 ex 下都有自己的记录。
<VirtualHost 172.30.0.245:443>
ServerName www.acme.com
ServerAlias acme.com
,因为它们有不同的 IP 和 SSL 证书。这很好用。
我还有一个通用记录<VirtualHost *:80>
,位于文件 001-vhosts.conf 中。它会捕获不属于我的域的流量。如果它与我的某些域不匹配,它会返回 410。这也可以正常工作。如果我指向http://test.com
服务器的 IP,它会转到通用记录并返回 410。
问题是当我为 SSL 添加通用记录时<VirtualHost *:443>
。如果我打开https://test.com
它而不是通用记录匹配<VirtualHost 172.30.0.245:443>
。我希望不属于我的域的流量返回 410,无论是在 http 还是 https 上。我使用 AWS,有这样的流量很常见。
我错过了什么?
命令sudo apache2ctl -S
返回:
VirtualHost configuration:
172.30.0.160:443 www.ssl-domain1.com (/etc/apache2/sites-enabled/ssl-domain1.conf:121)
172.30.0.139:443 www.ssl-domain2.com (/etc/apache2/sites-enabled/ssl-domain2.conf:12)
172.30.0.137:443 www.ssl-domain3.com (/etc/apache2/sites-enabled/ssl-domain3.conf:7)
172.30.0.245:443 www.ssl-domain4.com (/etc/apache2/sites-enabled/ssl-domain4.conf:39)
172.30.0.124:443 www.ssl-domain5.com (/etc/apache2/sites-enabled/ssl-domain5.conf:80)
*:443 ip-172-30-0-73.eu-west-1.compute.internal (/etc/apache2/sites-enabled/001-vhosts.conf:17)
*:80 is a NameVirtualHost
default server ip-172-30-0-73.eu-west-1.compute.internal (/etc/apache2/sites-enabled/001-vhosts.conf:3)
port 80 namevhost ip-172-30-0-73.eu-west-1.compute.internal (/etc/apache2/sites-enabled/001-vhosts.conf:3)
port 80 namevhost acme1.com (/etc/apache2/sites-enabled/acme1.com.conf:4)
port 80 namevhost acme2.com (/etc/apache2/sites-enabled/acme2.com.conf:3)
alias www.acme2.com
alias staging.acme2.com