Linux Mint 21下Apache2部署phpMyAdmin登录HTTPS协议不匹配问题求助
解决phpMyAdmin登录时HTTPS协议不匹配问题(Linux Mint 21 + Apache2)
情况1:本地测试无需HTTPS,关闭强制检查
如果只是本地部署phpMyAdmin做测试,不需要HTTPS,可以直接关闭phpMyAdmin的SSL强制验证:
- 打开phpMyAdmin主配置文件:
sudo nano /etc/phpmyadmin/config.inc.php - 查找或添加
$cfg['ForceSSL']配置项,设置为false:$cfg['ForceSSL'] = false; - 保存文件后重启Apache服务:
sudo systemctl restart apache2
情况2:需要启用HTTPS,配置Apache及phpMyAdmin
如果确实要通过HTTPS访问phpMyAdmin,按以下步骤配置:
生成自签SSL证书(本地测试用)
执行以下命令生成有效期1年的自签证书:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt执行过程中按提示填写信息即可,本地测试可忽略部分字段。
配置Apache HTTPS虚拟主机
编辑默认的HTTPS虚拟主机配置文件:sudo nano /etc/apache2/sites-available/default-ssl.conf- 确认证书路径配置正确:
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key - 添加请求头配置,确保phpMyAdmin能识别HTTPS协议:
RequestHeader set X-Forwarded-Proto "https"
- 确认证书路径配置正确:
启用必要的Apache模块
sudo a2enmod ssl sudo a2enmod headers启用HTTPS虚拟主机并重启服务
sudo a2ensite default-ssl.conf sudo systemctl restart apache2开启phpMyAdmin的强制SSL验证
再次编辑/etc/phpmyadmin/config.inc.php,将$cfg['ForceSSL']设置为true:$cfg['ForceSSL'] = true;保存后重启Apache生效。
注意事项
- 本地使用自签证书时,浏览器会提示“连接不安全”,这是正常现象,测试环境可直接跳过警告。
- 确保Apache的80(HTTP)和443(HTTPS)端口未被其他程序占用。
内容的提问来源于stack exchange,提问作者Kano
相关产品推荐
相关产品推荐

