o redirecionamento de login phpmyadmin falha com a porta ssl customizada

1

O servidor está executando o Ubuntu 10.10, Apache 2.2.16, PHP 5.3.3-1ubuntu9.3, phpMyAdmin 3.3.7deb5build0.10.10.1. Como esse mesmo servidor também está executando o Zimbra na porta 443, configurei o apache para servir SSL na porta 81. Até o momento, tenho um script do CMS em execução nesse host virtual com êxito.

No entanto, quando eu acesso / phpmyadmin (configurado com o alias padrão) na minha porta ssl personalizada e envio o formulário de login, eu sou redirecionado para link (observe o http: // em vez do https: // que o URL de login estava usando). Isso gera uma Solicitação de Erro 400 queixando-se de "falar HTTP simples em uma porta de servidor ativada por SSL". Eu posso alterar manualmente o http: // para https: // no URL e usar o phpmyadmin como esperado.

Eu estava chateado o suficiente para passar uma hora tentando consertá-lo e agora ainda mais irritado que eu não consigo entender. Eu tentei várias coisas, incluindo:

  • Adicionando $ cfg ['PmaAbsoluteUri'] = ' link '; para o arquivo /usr/share/phpmyadmin/config.inc.php, mas isso não corrigiu o problema (mesmo que /usr/share/phpmyadmin/libraries/auth/cookie.auth.lib.php pareça que deve honrá-lo e usá-lo como o redirecionamento).

  • Adicionando $ cfg ['ForceSSL'] = 1; ao mesmo config.inc.php, mas as espirais do apache em um redirecionamento infinito.

  • Adicionando uma regra de reconfiguração ao arquivo conf vhost-ssl no apache, mas não consegui descobrir a condição a ser usada quando http: // estava presente junto com a porta ssl correta de: 81.

  • Muitos googling .

Aqui estão as configurações relevantes do Apache:

/etc/apache2/ports.conf

<IfModule mod_ssl.c>
    NameVirtualHost *:81
    Listen 81
</IfModule>

/etc/apache2/sites-enabled / vhost-nonssl

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName vhost.domain.com
        DocumentRoot /home/xxx/sites/vhost/html
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}:81%{REQUEST_URI}
</Virtualhost>

/etc/apache2/sites-enabled / vhost-ssl

<VirtualHost *:81>
        ServerAdmin webmaster@localhost
        ServerName vhost.domain.com
        DocumentRoot /home/xxx/sites/vhost/html
        <Directory />
                Options FollowSymLinks
                AllowOverride None

                AuthType Basic
                AuthName "Restricted Vhost"
                AuthUserFile /home/xxx/sites/vhost/.users
                Require valid-user
        </Directory>
        <Directory /home/xxx/sites/vhost/html/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

/etc/apache2/conf.d/phpmyadmin.conf

Alias /phpmyadmin /usr/share/phpmyadmin

(O resto do padrão .conf truncado.)

Tudo na configuração do apache parece funcionar ok - a reescrita de não-ssl para ssl, a autenticação http, o problema só acontece quando eu estou enviando o formulário de login para phpmyadmin de link .

Outras configurações:

A configuração do phpmyadmin é completamente padrão e o php.ini tem apenas algumas pequenas alterações nos limites de memória e tempo limite. Estes parecem funcionar bem, como mencionado, outro script php é executado sem problemas e o phpmyadmin funciona muito bem assim que eu entro manualmente no esquema correto após o login.

Estou procurando um bandaid que eu possa adicionar para me salvar do problema de inserir manualmente o https: // após o login, uma correção real que fará o phpmyadmin se comportar como eu acho que deveria ou um entendimento maior do porquê minha configuração desejada não é possível.

    
por baraboom 30.06.2011 / 15:13

1 resposta

3

Uma versão antiga do phpmyadmin que eu tenho por aí tem em /phpmyadmin/config.inc.php

$cfg['PmaAbsoluteUri'] = 'http://127.0.0.1/phpmyadmin';

Você pode tentar alterar o http para https (e outros valores apropriadamente) e ver se isso faz diferença.

    
por 01.07.2011 / 06:27