我有2个MySQL用户,一个普通的'tommy'和一个控制用户'tommy_ctl' Apache httpd 2.4.7在9090上运行http,9080运行在https
phpMyAdmin(v4.1.6)config.inc.php文件具有'tommy_ctl'的用户名/密码
我正在以'tommy'
现在
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)
答案 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知道要使用的端口。
希望有所帮助!