Подтвердить что ты не робот

ИмяVirtualHost *: 80 не имеет VirtualHosts

У меня есть два имени домена, два сертификата ssl и два ip-адреса. Я пытаюсь настроить для себя файлы apache virtualhost для них.

Во-первых, я прокомментировал все экземпляры "NameVirtualHost" и "Listen" для портов 80 и 443. Затем я сделал следующее с файлами виртуальных хостов.

Файл VirtualHost для домена1:

NameVirtualHost 1.1.1.1:80
Listen 1.1.1.1:80
Listen 1.1.1.1:443
<VirtualHost 1.1.1.1:80>
    ServerName domain1.com
    ...
</VirtualHost>
<VirtualHost 1.1.1.1:443>
    ...
</VirtualHost>

Файл VirtualHost для домена2:

NameVirtualHost 2.2.2.2:80
Listen 2.2.2.2:80
Listen 2.2.2.2:443
<VirtualHost 2.2.2.2:80>
    ServerName domain2.com
    ...
</VirtualHost>
<VirtualHost 2.2.2.2:443>
    ...
</VirtualHost>
4b9b3361

Ответ 1

Где-то в вашей конфигурации, вероятно, в файле конфигурации по умолчанию Apache (я думаю, /etc/apache2/httpd.conf в Ubuntu? кто-то может поправить меня в комментариях), это строка, которая выглядит так:

NameVirtualHost *:80

# Also
Listen 80
Listen 443

Прокомментируйте их, и в конфигурационных файлах VirtualHost добавьте:

Listen 111.111.111.111:80
Listen 222.222.222.222:80
# If also using SSL
Listen 111.111.111.111:443
Listen 222.222.222.222:443

NameVirtualHost 111.111.111.111:80
NameVirtualHost 222.222.222.222:80

Во многих конфигурациях Apache по умолчанию директивы Listen и NameVirtualHost поставляются с подстановочными знаками или глобально применимы ко всем сетевым интерфейсам. Поскольку вы используете несколько IP-адресов, привязанных к различным конфигурациям, вы должны быть более конкретными в своих конфигурационных директивах, чем ваш конфигурационный файл конфигурации по умолчанию.

Ответ 2

Я проигнорировал ту же ошибку за 2 месяца, когда у меня был сервер Ubuntu. Я нашел, что этот пост прекрасно решил ошибку. Спасибо Michael! Как и вы Jay, я нашел виновника в /etc/apache 2/ports.conf. Я просто пробовал это:   

# NameVirtualHost *:80
Я только прокомментировал эту строку и никаких других изменений и не более

"NameVirtualHost *: 80 не имеет виртуальных хостов"