phpMyAdmin SSL配置

时间:2014-02-06 02:47:07

标签: apache ssl phpmyadmin

我有2个MySQL用户,一个普通的'tommy'和一个控制用户'tommy_ctl' Apache httpd 2.4.7在9090上运行http,9080运行在https

phpMyAdmin(v4.1.6)config.inc.php文件具有'tommy_ctl'的用户名/密码

我正在以'tommy'

的身份登录phpMyAdmin主页

现在
a)在config.inc.php中 与

$cfg['Servers'][$i]['ssl'] = false;  
$cfg['ForceSSL'] = false;

我可以登录

http://linuxboxA:9090/phpMyAdmin/index.php  
https://linuxboxA:9080/phpMyAdmin/index.php

b)当我设置

$cfg['Servers'][$i]['ssl'] = true; 

为什么

https://linuxboxA:9080/phpMyAdmin/index.php 
登录时

给出错误?:

 #1043 Cannot log in to the MySQL server  
 Connection for controluser as defined in your configuration failed  

此SSL选项不适用于通过Apache进行通信吗?

c)当我设置

$cfg['Servers'][$i]['ssl'] = true;  
$cfg['ForceSSL'] = true;  

https 9080网址需要很多秒才能打开

https://lnappd201.hphc.org:9080/phpMyAdmin/index.php  

并且登录成为

https://lnappd201.hphc.org/phpMyAdmin/index.php?token=23771cb3b3851979903c6eb233465fd8  

请注意,重定向的网址中没有端口号

此外,

http://lnappd201.hphc.org:9090/phpMyAdmin/index.php 

立即(没有任何登录)

https://lnappd201.hphc.org/phpMyAdmin/?SID  

当设置'ForceSSL'时,phpMyAdmin显然不知道apache SSL在端口9080上,
那么ForceSSL选项如何工作?

我的意图是,即使Apache在两个端口上都运行,我希望phpMyAdmin使用SSL和ForceSSL(到Apache SSL)

1 个答案:

答案 0 :(得分:2)

$cfg['Servers'][$i]['ssl']用于web server and MySQL server之间的通信。

$cfg['ForceSSL']应强制您web browser connection to phpMyAdmin to be over HTTPS

如ForceSSL文档中所述,在某些配置中启用它(我怀疑可以应用非标准的https端口)将要求您设置$cfg['PmaAbsoluteUri'],以便phpMyAdmin知道要使用的端口。

希望有所帮助!