You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache2 VHOST加载错误项目 phpmyadmin域名指向异常排查

问题根因

核心配置错误是phpmyadmin_ssl.conf的虚拟主机监听端口配置错误:你为phpMyAdmin写的HTTPS虚拟主机规则,开头写的是<VirtualHost *:80>而非<VirtualHost *:443>,直接导致Apache在443端口(HTTPS默认端口)没有加载任何指向phpMyAdmin的虚拟主机规则。
Apache虚拟主机的匹配逻辑是:先按访问端口匹配对应监听的虚拟主机列表,再在列表里按配置加载顺序匹配和请求域名一致的ServerName/ServerAlias;如果该端口下没有任何匹配当前请求域名的规则,就直接 fallback 到这个端口下第一个被加载的虚拟主机——也就是你配置的test.api.konfigurator.company.de站点,这就是所有访问phpMyAdmin域名的请求都落到test项目的原因。
另外你的phpMyAdmin HTTPS配置里还少了目录访问授权规则,就算端口改对,也可能直接返回403禁止访问。

修复步骤
  • 修正phpMyAdmin HTTPS配置
    编辑phpmyadmin_ssl.conf,首先把开头的<VirtualHost *:80>改为<VirtualHost *:443>,然后给<Directory>块补上Require all granted授权规则,和test站点的SSL配置对齐,修正后的完整配置如下:
<VirtualHost *:443>
    ServerName phpmyadmin.aws1.company.de
    ServerAdmin black@company.de
    DocumentRoot /usr/share/phpmyadmin

    <Directory /usr/share/phpmyadmin>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/phpmyadmin_error.log
    CustomLog ${APACHE_LOG_DIR}/phpmyadmin_access.log combined

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    SSLCertificateFile "/etc/ssl/certs/company/hoster_cert"
    SSLCertificateKeyFile "/etc/ssl/certs/company/hoster_key"
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
  • 确认站点和模块启用状态
    Ubuntu下Apache的虚拟主机配置需要放在/etc/apache2/sites-available/目录下,通过a2ensite命令软链接到sites-enabled目录才会被加载,依次执行以下命令:
# 启用phpMyAdmin的两个站点配置
a2ensite phpmyadmin.conf phpmyadmin_ssl.conf
# 确认SSL和rewrite模块已启用
a2enmod ssl rewrite

执行完可以跑apache2ctl -S命令检查当前加载的所有虚拟主机规则,输出里要能看到*:443端口下同时存在两个域名对应的虚拟主机条目,且没有语法报错。

  • 重载配置生效
    先做配置语法校验,确认无误再重载服务:
# 校验配置语法
apache2ctl configtest
# 语法输出Syntax OK再执行重载
systemctl reload apache2
  • 访问验证
    重载前先清空浏览器缓存(之前配置的HTTP到HTTPS的301跳转很容易被浏览器长期缓存,会影响验证结果),再分别访问两个域名的HTTP、HTTPS地址,就能看到对应项目的测试输出。
后续排查参考

如果按上述步骤操作后仍有异常,直接对照apache2ctl -S的输出逐一核对:

  1. 确认*:80和*:443端口下都存在phpmyadmin.aws1.company.de对应的虚拟主机条目,且配置文件路径正确
  2. 确认/usr/share/phpmyadmin目录权限对Apache运行用户(Ubuntu默认为www-data)可读
  3. 确认test站点的配置里没有写全局域名跳转规则,把不属于test域名的请求强制劫持到test目录

内容的提问来源于stack exchange,提问作者Black

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:27:35