You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在XAMPP中启用虚拟主机及解决Yii2高级项目配置时的SSL证书不匹配错误

解决XAMPP虚拟主机配置中的SSL警告问题

嘿,看起来你遇到的这个SSL警告其实和你配置的8081端口HTTP虚拟主机没啥关系——问题出在Apache默认的SSL配置上!

先给你拆解下错误信息AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name:这是Apache默认加载的SSL模块在找443端口的默认虚拟主机时,发现证书里的域名是example.com,和实际要匹配的服务器名不对应,所以抛出警告。哪怕你现在用的是8081的HTTP服务,只要SSL模块开启了,Apache就会加载这个默认配置。

下面是具体的解决步骤:

方法一:暂时禁用SSL模块(如果不需要HTTPS的话)

如果你当前不需要用HTTPS服务,直接把SSL模块关掉就行:

  • 打开XAMPP控制面板,点击Apache的Config按钮,选择Apache (httpd.conf)
  • 找到这一行:LoadModule ssl_module modules/mod_ssl.so
  • 在前面加个#注释掉它,变成#LoadModule ssl_module modules/mod_ssl.so
  • 保存文件,重启Apache,警告应该就消失了

方法二:修正SSL配置(如果需要保留HTTPS功能)

如果你之后要用到4433端口的HTTPS服务,就得修改默认的SSL虚拟主机配置:

  • 同样在XAMPP控制面板,点击Apache的Config,选择Apache (httpd-ssl.conf)
  • 找到默认的<VirtualHost _default_:443>块,把端口改成你的SSL端口4433,变成<VirtualHost _default_:4433>
  • 在这个虚拟主机块里,找到ServerName www.example.com:443,改成你自己的域名+端口,比如ServerName winnersprimary.ac.tz:4433
  • 如果你用的是自签证书,要确保证书文件里的Common Name(CN)和你设置的ServerName一致(可以重新生成对应域名的自签证书)
  • 保存文件,重启Apache

额外的小建议

另外检查下你配置里的细节:

  • 你的httpd-vhosts.conf里路径用了单引号,建议改成双引号或者直接去掉引号,同时把反斜杠换成正斜杠(Apache对正斜杠更友好),比如:
    DocumentRoot "c:/xampp/htdocs/winnersprimary/frontend/web"
    <Directory "c:/xampp/htdocs/winnersprimary/frontend/web/">
    
  • 确认Windows的hosts文件(C:\Windows\System32\drivers\etc\hosts)已经添加了这两行:
    127.0.0.1 winnersprimary.ac.tz
    127.0.0.1 admin.winnersprimary.ac.tz
    
    保存hosts文件后(需要管理员权限),虚拟主机才能正常访问。

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

火山引擎 最新活动