phpmyadminloginredirect失败与自定义ssl端口

服务器运行Ubuntu 10.10,Apache 2.2.16,PHP 5.3.3-1ubuntu9.3,phpMyAdmin 3.3.7deb5build0.10.10.1。 由于这个服务器也在端口443上运行Zimbra,所以我configuration了apache来在端口81上提供SSL。到目前为止,我已经成功地在这个虚拟主机上运行了一个CMS脚本。

但是,当我访问/ phpmyadmin(使用默认别名设置)在我的自定义ssl端口并提交login表单时,我被redirect到http://vhost.domain.com:81/index.php?TOKEN=foo (注意http://而不是loginurl使用的https://)。 这会生成一个错误400错误请求,抱怨说“纯HTTP到启用SSL的服务器端口”。 然后我可以在URL中手动更改http://到https://并按预期方式使用phpmyadmin。

我很烦,花了一个小时,试图解决它,现在更恼火,我无法弄清楚。 我尝试了各种各样的东西,包括:

以下是相关的Apacheconfiguration部分:

/etc/apache2/ports.conf

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

在/ etc / apache2的/启用的站点- /虚拟主机,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的/启用的站点- /虚拟主机的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 

(其余的默认.conf截断。)

在Apacheconfiguration中的一切似乎工作正常 – 重写从非ssl到ssl,httpauthentication,问题只发生在我从https://vhost.domain.com:81/index提交phpmyadmin的login表单.php 。

其他configuration:

phpmyadminconfiguration是完全默认的,php.ini只对内存和超时限制做了一些小改动。 这些似乎工作正常,如上所述,另一个PHP脚本运行没有问题,一旦我login后手动input正确的架构phpmyadmin工程很好。

我正在寻找无论是我可以添加一个bandaid节省我手动inputhttps://login后的麻烦,一个真正的修复,这将使phpmyadmin的行为,因为我认为应该或一些更好的理解为什么我所需的configuration不可能。

一个老版本的phpmyadmin,我已经躺在这个/phpmyadmin/config.inc.php

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

您可以尝试将http更改为https (以及其他适当的值),看看是否有所作为。