Por que o ProxyPass não funciona na caixa do Apache com hosts virtuais?

2

Eu tenho um servidor Ubuntu usado como um servidor web com o Apache 2.2. Eu estou tentando configurá-lo com hosts virtuais nomeados, e no meu arquivo /etc/apache2/apache2.conf eu tenho as seguintes linhas:

NameVirtualHost *
Include /etc/apache2/sites-enabled/

Eu tenho dois arquivos em sites habilitados. Um deles contendo:

<VirtualHost *>
        ServerAdmin [email protected]
        ServerName arcticdata.met.no
        DocumentRoot /metno/metamod/arcticdata/htdocs
...
</VirtualHost>

O outro é semelhante, mas com outro ServerName e DocumentRoot.

Se eu executar o arquivo apachectl configtest, recebo o seguinte aviso:

[warn] NameVirtualHost *:0 has no VirtualHosts

Mas, de qualquer forma, parece que o mecanismo do host virtual está funcionando, já que eu chego a um arquivo index.html colocado no DocumentRoot em ambos os casos.

Mas também uso o redirecionamento para um processo de catalisador no mesmo servidor, e esses redirecionamentos parecem não funcionar:

ProxyPass           /metamod/         http://127.0.0.1:3011/
ProxyPassReverse    /metamod/         http://127.0.0.1:3011/

Hovever, Se eu inserir o endereço IP e o número da porta no -diretivo (no lugar de *), esses redirecionamentos funcionarão de repente. Mas então eu tenho outro problema. Agora, executar o apachectl configtest fornece a seguinte saída:

[warn] VirtualHost 157.249.32.169:80 overlaps with VirtualHost 157.249.32.169:80, the first has precedence, perhaps you need a NameVirtualHost directive
[warn] NameVirtualHost *:0 has no VirtualHosts

e apenas o primeiro trabalho do host virtual.

Eu também estou executando uma configuração semelhante em uma caixa lúcida, e isso funciona bem. Há mudanças em como o Apache 2.2 é configurado entre hardy e lucid? A hardy box tem o Apache 2.2.8 e a caixa lúcida tem o Apache 2.2.14.

Qualquer sugestão apreciada.

Egil

    
por Egil Støren 05.03.2013 / 15:53

2 respostas

0

Recomendamos que você use o endereço: notação de porta, conforme especificado no manual do apache:

link

Provavelmente, alguma coisa mudou no código do apache, já que parece que o padrão é a porta 0 no hardy, mas o padrão dos seus sites é a porta 80.

Por exemplo mude para:

NameVirtualHost *:80

e

<VirtualHost *:80>

Se isso não funcionar, use:

NameVirtualHost 157.249.32.169:80

e

<VirtualHost 157.249.32.169:80>
    
por oerdnj 05.03.2013 / 16:07
0

Corrija a configuração do seu apache para que as portas de aprovação sejam claras.

 NameVirtualHost *:80
 NameVirtualHost *:443

e

<VirtualHost *:80>
</VirtalHost>
    
por H.-Dirk Schmitt 05.03.2013 / 16:15