当主机头不正确时,让Apache忽略请求

vltsax25  于 2023-06-24  发布在  Apache
关注(0)|答案(1)|浏览(132)

我希望Apache 2.4.x忽略(即不响应)任何与特定域名不匹配的请求。我的配置如下:

  1. <VirtualHost *:443>
  2. ServerName foobar.com
  3. RedirectMatch /(.*) https://www.foobar.com/$1
  4. ...
  5. </VirtualHost>
  6. <VirtualHost *:443>
  7. ServerName www.foobar.com
  8. ServerAdmin webmaster@localhost
  9. DocumentRoot /var/www/html
  10. ...
  11. </VirtualHost>

ServerName字段是否足以指示Apache不响应与VirtualHosts中的任何ServerName值不匹配的请求?
我希望Apache的行为方式是查看主机请求头,将其与上面的ServerName字段进行比较,并忽略主机头值不匹配的请求。
我的网站是https,端口80没有打开。

mlmc2os5

mlmc2os51#

总是会有一些答案,因为必须建立连接才能看到主机头。
由于您仅使用https,因此对于未知或未配置的域,证书协商可能会失败。
通常,您应该为所有已知域配置虚拟主机,并对任何不匹配的请求回退到默认虚拟主机。
客户端 * 将 * 看到证书错误,对此您无能为力。但是您可以控制显示给所有客户端的消息,这些客户端要么没有收到证书错误,要么选择连接。您可以通过相应地显式配置 default 虚拟主机来实现这一点。

相关问题