phpMyAdmin 在 CloudFlare Flexible SSL 上使用端口 80

phpMyAdmin 在 CloudFlare Flexible SSL 上使用端口 80

我目前在专用服务器(在一个 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'];
            }

相关内容