我目前在专用服务器(在一个 IP 地址上运行)上有 3 个网站。
对于其中一个网站,服务器上的 SSL 处于活动状态,phpMyAdmin 运行良好。登录后,您将被重定向到正确的位置(https://example.tld/phpmyadmin
例如)
但是,对于其他两个站点,我没有它们的 SSL 证书,因此我使用 CloudFlare 的灵活通用 SSL。我的问题是登录 phpMyAdmin(通过访问https://example.tld/phpMyAdmin
)时,phpMyAdmin 重定向到端口 80,例如https://example.tld:80/phpMyAdmin
,由于 SSL 不再安全(因为 Apache 开始提供未加密的数据),浏览器会显示一条错误消息,指出连接不安全。
关于如何阻止 phpMyAdmin 重定向到端口 80 有什么想法吗?
答案1
我找到了一个对我有用的解决方案:D
在 phpmyadmin/libraries/Config.class.php 中找到以下代码:
if (! empty($url['port'])
&& (($url['scheme'] == 'http' && $url['port'] != 80)
|| ($url['scheme'] == 'https' && $url['port'] != 80)
|| ($url['scheme'] == 'https' && $url['port'] != 443)
)) {
$pma_absolute_uri .= ':' . $url['port'];
}
并删除最后一个 OR 条件:
if (! empty($url['port'])
&& (($url['scheme'] == 'http' && $url['port'] != 80)
|| ($url['scheme'] == 'https' && $url['port'] != 80)
//|| ($url['scheme'] == 'https' && $url['port'] != 443)
)) {
$pma_absolute_uri .= ':' . $url['port'];
}