Это раньше было довольно просто, чтобы я создал VirtualHost для тестирования нового php веб-приложения для этого http.conf:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /opt/webgrind/www
ServerName webgrind
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/opencart/www
ServerName opencart
</VirtualHost>
Я просто должен был перезапустить сервис и доступ: http://webgrind/
или http://opencart/
(ничего не изменяя в /etc/hosts
)
Но что-то изменилось в сервере (CentOS 6) и теперь error.log
состояния:
[error] avahi_entry_group_add_service_strlst("opencart") failed: Invalid host name
[error] avahi_entry_group_add_service_strlst("webgrind") failed: Invalid host name
И при доступе http://webgrind/
Я получаю страницу офлайновая ошибка. Какие-либо идеи?
Серверная версия: Apache/2.2.15 (Unix) Сервер создал: 8 декабря 2011 18:10:49
Настройка виртуального хоста в apache не позволяет службе разрешения имен на сервере узнать об этом, поэтому вам придется либо обновить /etc/hosts, либо сделать что-то вроде:
curl -H 'Host: webgrind' 127.0.0.1
чтобы переопределить поведение по умолчанию.
.Поскольку этот вопрос является первым, который появляется при поиске «AH02415: [strict] Invalid host name», я добавлю ответ, чтобы задокументировать время, которое я потратил сегодня, потому что большая часть виртуальных хосты на моей машине разработки перестали работать (например, shop_one.web).
У меня был обновлен Apache до версии 2.4.16-18.1, и, очевидно, HttpProtocolOptions
теперь по умолчанию имеет значение Strict
, тем самым отклоняя мои локальные имена хостов, в которых есть знак «_» (подчеркивание) ( и, вероятно, из OP).
Я знаю, что это неправильные имена хостов, но для локального / личного использования никому не повредит, поэтому я добавил строку:
HttpProtocolOptions Unsafe
в свой default-server.conf, и жизнь вернулась к что было раньше. См. Также:
https://httpd.apache.org/security/vulnerabilities_24.html
https://unix.stackexchange.com/questions/340013/why-am-i-getting-400-bad- request / 341306