我有我的网站邮件客户端的当前配置:
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /var/www/mailclient>
AllowOverride All
</Directory>
DocumentRoot /var/www/mailclient
ServerName mail.*
ServerAlias mail.*
</VirtualHost>当我尝试访问https:// mail.domain1.com或https:// mail.domain2.com时,这很好。
但是,当我试图访问https:// domain1.com或https:// sub.domain1.com时,我仍然看到web邮件客户端,但我只想看到404或类似的东西。那么,如何将这个virtualHost限制为特定的子域呢?
发布于 2012-05-17 21:21:51
配置一个默认的vhost,它将回显错误。它需要位于当前vhost之上才是默认的,但低于NameVirtualHost配置。
NameVirtualHost *:443
<VirtualHost *:443>
ServerName default.filler.name
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /var/www/mailclient>
AllowOverride All
</Directory>
DocumentRoot /var/www/mailclient
ServerName mail.*
ServerAlias mail.*
</VirtualHost>它是403而不是404。够近了吗?
发布于 2012-05-17 20:11:34
当Apache找不到合适的主机时,它将为默认的(*) vhost提供服务。
你可以用一个默认vhost来解决这个问题。
<VirtualHost _default_:443>
RedirectMatch permanent ^/?(.*) http://mymainwebsite.com/$1
</VirtualHost>这将防止它弹出,如果有人连接到端口443与IP或另一个子域。
https://serverfault.com/questions/390144
复制相似问题