Erro do Apache VirtualHost: nome do host inválido

3

Costumava ser muito simples para mim configurar um VirtualHost para testar uma nova aplicação web php, para este http.conf:

NameVirtualHost *:80

<VirtualHost *:80>
        DocumentRoot /opt/webgrind/www
        ServerName webgrind
</VirtualHost>
<VirtualHost *:80>
        DocumentRoot /opt/opencart/www
        ServerName opencart
</VirtualHost>

Eu só precisava reiniciar o serviço e acessar: http://webgrind/ ou http://opencart/ (sem alterar nada em /etc/hosts )

Mas algo mudou no servidor (CentOS 6) e agora o error.log declara:

[error] avahi_entry_group_add_service_strlst("opencart") failed: Invalid host name
[error] avahi_entry_group_add_service_strlst("webgrind") failed: Invalid host name

E ao acessar http://webgrind/ , recebo um erro de linha de linha. Alguma idéia?

Server version: Apache/2.2.15 (Unix) Server built: Dec 8 2011 18:10:49

    
por sapeish 10.01.2015 / 01:39

2 respostas

5

Como esta pergunta é a primeira a aparecer ao procurar por "AH02415: [restrito] nome de host inválido", adicionarei uma resposta para documentar o tempo que perdi hoje porque a maioria dos hosts virtuais na minha máquina de desenvolvimento parou de funcionar (por exemplo, shop_one.web).

Eu tinha o Apache atualizado para a versão 2.4.16-18.1 e aparentemente HttpProtocolOptions agora é padronizado como Strict , rejeitando meus nomes de host locais que têm '_' (sublinhado) neles (e provavelmente os do OP).

Eu sei que eles não são nomes de host adequados, mas para uso local / pessoal nunca prejudicam ninguém, então eu adicionei a linha:

HttpProtocolOptions Unsafe

ao meu default-server.conf e a vida está de volta ao que era antes. Veja também:

https://httpd.apache.org/security/vulnerabilities_24.html

https://unix.stackexchange.com/questions/340013/why-am-i-getting-400-bad-request/341306

    
por 01.04.2017 / 19:23
-1

Configurar um host virtual no apache não faz com que o serviço de resolução de nomes no servidor o conheça, portanto você teria que atualizar / etc / hosts ou fazer algo como:

curl -H 'Host: webgrind' 127.0.0.1

para substituir o comportamento padrão.

    
por 15.09.2015 / 02:14