У меня Apache2 с одним VirtualHost настроен следующим образом:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName gitlab.mydomain.com
DocumentRoot /home/git/gitlab/public
ProxyPass / http://127.0.0.1:9292/
ProxyPassReverse / http://127.0.0.1:9292/
ErrorLog /var/log/apache2/gitlab/error.log
CustomLog /var/log/apache2/gitlab/access.log combined
</VirtualHost>
Это работает для http://gitlab.mydomain.com. НО это также работает для всех * .mydomain.com, перенаправляющих на определенный выше VirtualHost.
Как я могу отключить все хосты, кроме gitlab.mydomain.com, чтобы abc.mydomain.com отвечал с http 404?
Обновить:
Можно ли сделать то же самое с 443? У меня уже есть bad_url:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/bad_url
ServerName *
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot /var/www/bad_url
ServerName *
</VirtualHost>
Теперь я получаю сообщение об ошибке при запуске Apache:
Action 'start' failed.
The Apache error log may have more information.
failed!
cat /var/log/apache2/error.log
[Wed Jul 31 03:09:05 2013] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
Я вижу подсказку, но возможно ли это без добавления сертификата SSL?