我正在通过SSL(HTTPS)设置phpMyAdmin,还要连接数据库服务器。
我已经使用SSL证书configuration了Nginx。 我已经注意到phpMyAdmin的版本检查,因为它是通过HTTP连接和打破安全连接。
所有数据库服务器都启用SSL:
Variable_name Value have_openssl YES have_ssl YES ssl_ca /etc/mysql/ca-cert.pem ssl_capath ssl_cert /etc/mysql/server-cert.pem ssl_cipher ssl_key /etc/mysql/server-key.pem
我已经添加了指令$cfg['Servers'][$i]['ssl'] = TRUE; 到phpMyAdmin的configuration文件,但我没有指定pathcerts /键,值:
$cfg['Servers'][$i]['ca'] = '/etc/ssl/certs/ca-cert.pem'; $cfg['Servers'][$i]['cert'] = '/etc/mysql/client-cert.pem'; $cfg['Servers'][$i]['key'] = '/etc/mysql/client-key.pem';

问题:
你能帮我理解这是如何工作没有在networking服务器上的证书,如果我实际上使用encryption连接到数据库服务器? 是否有可能将它caching在某处,因为我已经启用了这些指令了一会儿?
我也注意到奇怪的行为:
当我login到PMA时,我看到以下URL:
https://example.com/index.php?token=e683bf8b717275f509cc76716c8db605#PMAURL:server=1&target=main.php&token=e683bf8b717275f509cc76716c8db605
谢谢
您不要为PHPMyAdmin设置HTTPS的SSL证书 – 它是一个Web应用程序 – 而不是Web服务器。 Nginx存储证书并终止/解开SSL。
您正在使用的HTTPS会话是在您的PC和Nginx之间 – 这与PHPMyAdmin无关。 您的PHPMyAdmin虚拟主机正在使用您在Nginx中定义的任何证书。
HTTPS != SSL的configuration与PHPMyAdmin的configuration有关。
您提到的设置专门用于PHPMyAdmin和MySQL之间的SSL连接 – 如果在本地主机上,则不会太相关。
URL中的token是PHPMyAdmin存储会话的正常token 。 删除它,并失去你的会议。