在XAMPP的8080端口配置虚拟主机遇SSL错误求助
解决XAMPP虚拟主机配置后SSL协议错误的问题
首先咱们先理清错误根源:Chrome的ERR_SSL_PROTOCOL_ERROR和Firefox的SSL_ERROR_RX_RECORD_TOO_LONG,本质都是浏览器试图用HTTPS协议连接一个仅支持HTTP的8080端口。这里的核心问题出在.dev域名上——它是Google管理的顶级域名,现在主流浏览器都会自动强制.dev域名使用HTTPS,而你的虚拟主机只配置了HTTP服务,自然就触发了SSL协议不匹配的错误。
下面是一步步的解决办法:
1. 更换本地测试域名(关键步骤)
因为.dev域名被强制HTTPS,咱们换成不会被自动升级的本地域名,比如lsapp.local或者lsapp.test:
- 修改Windows主机文件:
打开C:\Windows\System32\drivers\etc\hosts(需要管理员权限编辑),替换原有域名:127.0.0.1 localhost 127.0.0.1 lsapp.local - 更新vhosts.conf配置:
打开XAMPP目录下的apache\conf\extra\httpd-vhosts.conf,同步修改虚拟主机的域名设置:NameVirtualHost *:8080 <VirtualHost *:8080> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:8080> DocumentRoot "C:/xampp/htdocs/lsapp/public" ServerName lsapp.local ServerAlias www.lsapp.local SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/lsapp/public"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
2. 重启Apache服务
修改配置后,一定要在XAMPP控制面板里先停止Apache,再重新启动,确保新配置生效。
3. 清除缓存避免旧配置干扰
- 浏览器缓存:Chrome按
Ctrl+Shift+Del,勾选「缓存的图片和文件」后清除;Firefox按Ctrl+Shift+Del,勾选「缓存」清除。 - Windows DNS缓存:打开管理员命令提示符,输入
ipconfig /flushdns执行,刷新本地DNS记录。
4. 测试访问
现在用http://lsapp.local:8080访问你的站点,应该就能正常加载了。
额外说明(如果需要HTTPS访问)
如果本地开发确实需要HTTPS,你可以用mkcert工具生成自签名SSL证书,然后在vhosts里添加443端口的虚拟主机配置,绑定证书文件。不过对于大多数本地开发场景,用HTTP+非强制HTTPS的域名已经足够满足需求。
内容的提问来源于stack exchange,提问作者Emmajiugo
相关产品推荐
相关产品推荐

