example.com e www.example.com apontam para dois aplicativos diferentes

1

O problema é simples, o link e o link aren são os mesmos sites. O problema é certamente na minha configuração do VHost:

PassengerMinInstances 5 PassengerPoolIdleTime 0

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /home/someuser/www/example.com/public_html/public
        <Directory /home/someuser/www/example.com/public_html/public>
                AllowOverride all
                Options -MultiViews
        </Directory>
        ErrorLog /home/someuser/www/example.com/logs/error.log
        CustomLog /home/someuser/www/example.com/logs/access.log combined
        RailsBaseURI /
        PassengerSpawnMethod smart
</VirtualHost>

Também removi todos os módulos que não estavam causando erros de inicialização. Esses são os que estão sendo carregados:

# ls mods-enabled
alias.conf  alias.load  authz_default.load  authz_groupfile.load  authz_host.load  authz_user.load
    
por Emil Ahlbäck 28.07.2011 / 08:47

3 respostas

0

Esta configuração vhost resolveu meu problema:

<VirtualHost *:80>
        ServerName example.com
        ServerAlias *.example.com
        DocumentRoot /home/someuser/www/example.com/public_html/public
        <Directory /home/someuser/www/example.com/public_html/public>
                Options FollowSymLinks
                AllowOverride none
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /home/someuser/www/example.com/logs/error.log
        CustomLog /home/someuser/www/example.com/logs/access.log combined
        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
        RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
</VirtualHost>
    
por 10.08.2011 / 08:36
2

Existem 2 grandes coisas para verificar aqui:

  1. Ambos os domínios resolvem para o mesmo endereço IP:

    Teste host example.com e host www.example.com da sua linha de comando para ver se as diferentes solicitações estão sendo roteadas para o mesmo servidor.

    Se não, você precisará atualizar o DNS para que seu domínio seja consistente

  2. O Apache está ficando confuso? Para qualquer solicitação, o Apache usará o primeiro host virtual em sua configuração, que possui ServerName ou ServerAlias correspondente. Verifique se você não tem configuração de vhost conflitante

por 28.07.2011 / 08:55
1

Prefacing minha resposta com "Eu não sei nada sobre ruby".

Você declarou http://example.com and http://www.example.com aren't the same sites , mas sua configuração de vhost está dizendo que eles são.

ServerName example.com
ServerAlias www.example.com

Essas diretivas estão dizendo que esse vhost responderá por ambos os nomes. Então, parece que você só precisa dividir o www.example.com em seu próprio vhost com sua própria diretiva ServerName .

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName example.com
        DocumentRoot /home/someuser/www/example.com/public_html/public
        ....other stuff....
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName www.example.com
        DocumentRoot /home/someuser/www/www.example.com/public_html/public
        ....other stuff....
</VirtualHost>

Se existe alguma mágica na maneira como o Ruby manipula vhosts, então minha resposta é inútil:)

    
por 28.07.2011 / 16:28