Ошибка: «VirtualHost *: 80 - смешивание * портов и не * портов с адресом NameVirtualHost не поддерживается, продолжая с неопределенными результатами» - PullRequest
0 голосов
/ 02 сентября 2008

Я запускаю WAMP v2.0 на WindowsXP, и у меня есть несколько настроек виртуальных хостов в файле http-vhosts.conf.

Это работало, но в последнюю неделю, когда я пытаюсь и запускаю WAMP, я получаю эту ошибку в журналах событий:

VirtualHost *: 80 - микширование * портов и не * порты с NameVirtualHost адрес не поддерживается, исходящий с неопределенными результатами.

и сервер не запустится. Я не могу думать о том, что изменилось.

Я скопировал файл конфигурации ниже.

NameVirtualHost *
<VirtualHost *:80>
    ServerName dev.blog.slaven.net.au
    ServerAlias dev.blog.slaven.net.au
    ServerAdmin user@host.com
    DocumentRoot "c:/Project Data/OtherProjects/slaven.net.au/blog/" 
    ErrorLog "logs/blog.slaven.localhost-error.log"
    CustomLog "logs/blog.slaven.localhost-access.log" common

    <Directory "c:/Project Data/OtherProjects/slaven.net.au/blog/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

РЕДАКТИРОВАТЬ: Я хотел добавить, если я изменю директиву NameVirtualHosts, чтобы указать порт, т.е.

NameVirtualHost *:80

Я получаю эту ошибку:

Обычно разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт). : make_sock: не удалось привязаться к адресу 0.0.0.0:80

Ответы [ 2 ]

4 голосов
/ 02 сентября 2008

NameVirtualHost *: 80

Я получаю эту ошибку:

Обычно> разрешено только одно использование каждого адреса сокета (протокола / сетевого адреса / порта). : make_sock: не удалось привязаться к адресу 0.0.0.0:80

Я думаю, это может быть из-за того, что у вас есть что-то еще, слушающее порт 80. У вас есть другие запущенные серверы (или, например, Skype)?

(Если это был Skype: снимите флажок «Инструменты> Параметры> Дополнительно> Соединение> Использовать порты 80 и 443 в качестве альтернативы для входящих соединений»)

0 голосов
/ 02 сентября 2008

Ну, похоже, проблема в том, каким образом (и порядок) вы назначаете порты.

По сути, *: 80 означает «использовать порт 80 для всех хостов в этой конфигурации». Когда вы делаете это, Apache пытается привязать этот хост к 0.0.0.0:80, что означает, что хост будет получать каждый отдельный пакет, поступающий на машину через порт 80, независимо от того, на какой виртуальный хост он был предназначен. Это то, что вы должны использовать только один раз, и только если у вас есть один хост в этой конфигурации.

Таким образом, если у вас есть одна и та же директива *: 80 на двух хостах в файле конфигурации, сервер не будет загружаться, потому что он попытается дважды связать 0.0.0.0:80, не выполняя попытки со второй попытки. (объясняет, что обычно разрешено только одно использование каждого адреса сокета (протокола / сетевого адреса / порта).: make_sock: невозможно связать с адресом 0.0.0.0:80 ").

...