Como definir o Apache para redirecionar para a porta ServerName?

2

Acabei de fazer uma nova instalação do Ubuntu do apache2 e do haproxy. Haproxy ouve na porta 80, apache em 3080, a última sendo escondida de fora.

Meu problema é que, ao usar um nome de pasta sem uma barra, por exemplo, example.com/some/folder apache redireciona automaticamente para o mesmo endereço com uma barra, mas também para a porta incorreta, example.com:3080/some/folder/ !

Os documentos do Apache sugerem para mim que meu problema está na configuração CanonicalName / Port, mas nenhuma combinação deles parece funcionar. O que eu poderia ser um mal-entendido?

Meu host virtual:

<VirtualHost *:3080>

    ServerName http://example.com:80
    UseCanonicalName On
    UseCanonicalPhysicalPort On

    DirectoryIndex index.php index.html
    DocumentRoot /var/www/main

    <Directory /var/www/main>
        Options -Indexes
        Options -FollowSymLinks
        AllowOverride All

        <Files ~'^\.'>
            Order allow,deny
            Deny from all
            Satisfy all
        </Files>
    </Directory>
</VirtualHost>
    
por Bijou Trouvaille 19.10.2012 / 05:58

1 resposta

1

Não use nenhum;

UseCanonicalName Off
UseCanonicalPhysicalPort Off

O HAProxy não (normalmente) interfere com o cabeçalho Host enviado, portanto, essa configuração deve ter os redirecionamentos gerados construídos com o cabeçalho Location correto. Se isso não ajudar, forneça o cabeçalho Location exato que está sendo enviado na resposta?

A propósito, seu ServerName pode ser simplificado e provavelmente não deve ter uma porta em que seu vhost não esteja escutando:

ServerName example.com
    
por 19.10.2012 / 08:22