Apache Centos 6.5 Carregando somente o primeiro host virtual

3

Como a pergunta indica apenas o primeiro host virtual é carregado. Se eu for para o segundo domínio, ele simplesmente direciona para o primeiro domínio. Eu posso carregar arquivos individuais no segundo domínio, mas não consigo fazer o arquivo de índice carregar.

NameVirtualHost *:80
<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
 ServerAlias employees.nationalpurchasingpartners.com
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com
</VirtualHost>

Corri o seguinte link sem sucesso.

link

Adicionando saída de onda:

HTTP/1.1 200 OK
Server: Apache
Set-Cookie: COOKIE=10.5.19.235.1396565642197130; path=/
ETag: "AAAAUSZYEDQ"
Last-Modified: Thu, 06 Mar 2014 21:50:26 GMT
Set-Cookie: referrer=; path=/
Set-Cookie: t=d9979760bb8211e39a570015c5e70b87; path=/
Set-Cookie: referrer=procurementnews.com; path=/
Vary: Accept-Encoding,User-Agent
Cartoon: aalander4
Content-Type: text/html; charset=UTF-8
Date: Thu, 03 Apr 2014 22:54:02 GMT
X-Varnish: 1862602499
Age: 0
Via: 1.1 varnish
Connection: keep-alive

Saída de httpd -S

link

*:80                   is a NameVirtualHost
     default server employees.nationalpurchasingpartners.com (/etc/httpd/conf/httpd.conf:1012)
     port 80 namevhost employees.nationalpurchasingpartners.com (/etc/httpd/conf/httpd.conf:1012)
             alias employees.nationalpurchasingpartners.com
     port 80 namevhost www.procurementnews.com (/etc/httpd/conf/httpd.conf:1019)
             alias procurementnews.com
    
por 6paq 03.04.2014 / 23:43

2 respostas

3

Se você está configurando hosts virtuais baseados em nome, é assim que deve ser feito, tanto quanto eu entendo:

Edite seu httpd.conf da seguinte forma:

NameVirtualHost *:80
<VirtualHost employees.nationalpurchasingpartners.com:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
</VirtualHost>

<VirtualHost procurementnews.com:80>
 ServerAdmin [email protected] 
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com *.procurementnews.com
</VirtualHost>

E, em seguida, execute:

# /etc/init.d/httpd restart

Se você quiser testá-lo na mesma máquina, você terá que atualizar o arquivo /etc/hosts do servidor e incluí-lo:

1.1.1.1 employees.nationalpurchasingpartners.com
2.2.2.2 procurementnews.com

Ou certifique-se de que seu servidor DNS tenha esses registros definidos.

Por favor, atualize se funciona ou não.

    
por 31.01.2015 / 16:31
1

Sua configuração global (qualquer coisa fora de um VirtualHost) contém o mesmo ServerName? Você poderia adicionar uma definição de arquivo de log para sua configuração global e uma para cada um dos seus hosts virtuais para ver qual tráfego está sendo servido por cada um.

Faça o backup de todos os seus arquivos de configuração antes de testar qualquer coisa e sempre use "configtest" antes de tentar aplicar quaisquer alterações.

No httpd.conf:

CustomLog logs/default_access_log combined

E, em seguida, na sua definição VirtualHost, adicione uma entrada CustomLog para cada:

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
 ServerAlias employees.nationalpurchasingpartners.com  # this entry is redundant

    CustomLog logs/employees.nationalpurchasingpartners.com_access_log combined

</VirtualHost>

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com

    CustomLog logs/www.procurementnews.com_access_log combined

</VirtualHost>

Eu vejo que você tem o Varnish na frente do seu servidor. Você também deve verificar se o Varnish está usando HTTP / 1.1 para suportar corretamente cabeçalhos de host. Você também pode querer ativar o registro em Varnish para poder ver o que está sendo enviado de volta ao Apache.

Você também pode registrar o cabeçalho "Host" sendo enviado para o Apache copiando a linha LogFormat da combinação para uma nova entrada e adicionando

\"%{Host}i\"

por exemplo,

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Host}i\"" with_host

Em seguida, altere as entradas do Apache CustomLog acima para usar "with_host" em vez de "combinado".

Certifique-se de reverter suas alterações após o teste para restaurar seu servidor à operação normal.

    
por 31.12.2014 / 23:32