Вопрос: Предупреждение при добавлении нескольких виртуальных хостов на порт 443 - «_default_ VirtualHost перекрывается на порт 443, первое имеет приоритет»,


Я запускаю Ubuntu 12.10, и у меня есть следующие 4 записи VirtualHost в /etc/apache2/apache2.conf

4 записи VirtualHost предназначены для двух отдельных сайтов, test.example.com а также test2.example.com, одна запись для HTTP и одна для HTTPS.

<VirtualHost *:443>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test
   ServerName test.example.com
   # Other settings goes here
</VirtualHost>

<VirtualHost *:443>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>


<VirtualHost *:80>
   DocumentRoot /var/www/test2
   ServerName test2.example.com
   # Other settings goes here
</VirtualHost>

Моя проблема Когда я сохраняю и перезапускаю apache, я получаю это предупреждение:

* Перезапуск веб-сервера apache2
[Sun Feb 17 18:30:09 2013] [warn] _default_ VirtualHost перекрывается на порт 443, первое имеет приоритет
 ... waiting [Sun Feb 17 18:30:10 2013] [warn] _default_ VirtualHost перекрывается на порт 443, первое имеет приоритет

И я получаю содержимое /var/www/test когда я открываю оба test.example.com а также test2.example.com

Любая идея, в чем проблема?


7
2018-02-17 18:35


Источник


Является NameVirtualHost *:443 в вашей конфигурации? - faker
@faker, не так. Я добавил его, и проблема была решена :) Спасибо. Если вы добавите его в качестве ответа, я могу принять его. Также вы можете сказать мне, почему добавление было необходимо, так как я не добавил NameVirtualHost *: 80 для HTTP, и все еще оба VirtualHosts на порту 80 запирались? - Sparky


Ответы:


Вы должны добавить NameVirtualHost *:443 чтобы он работал.
NameVirtualHost *:80 также должен быть в вашей конфигурации, он, вероятно, установлен по умолчанию, но я не использую Ubuntu, поэтому я не уверен в каком файле.

Также совет:
Запуск нескольких сайтов HTTPS на одном IP-адресе может иметь свои недостатки, особенно старые клиенты (IE8 / Windows XP) не поддерживают SNI.
Это может иметь смысл в вашей ситуации (только для тестирования, * .example.com подстановочный сертификат используется и т. Д.), Но вы должны знать об этом.


12
2018-02-17 19:06



Я боролся с этим сегодня, все сразу работало после добавления линии. Спасибо. - sniels
На моем сервере Ubuntu мне пришлось добавить это /etc/apache2/ports.conf, Там, <IfModule mod_ssl.c> уже Listen 443 и я добавил NameVirtualHost *:443 там. Он также ссылается на какой-то другой файл в комментариях, но этого не было на моем сервере. Запустите apachectl -t чтобы проверить правильность вашей конфигурации. - ar34z