出现该错误是因为composer默认禁止不安全的http连接以提升安全性。从2.x版本开始,若composer.json中配置了http://开头的仓库地址,会触发警告并阻止安装。解决方法一:推荐将仓库地址改为https,如修改为”https://your-private-repo.com”,确保服务器支持有效ssl证书。解决方法二:仅在可信环境中临时允许HTTP,可运行composer config –global secure-http false全局关闭安全限制,或在项目目录下执行composer config secure-http false进行局部设置。建议完成后尝试composer install验证,并尽快升级私有仓库至HTTPS以避免未来兼容问题。关键是优先使用加密连接,必要时再临时放宽限制。

当你在使用 Composer 时遇到提示“Your configuration does not allow connections to http…”,这通常是因为 Composer 默认禁止通过不安全的 HTTP 协议访问包仓库,以防止潜在的安全风险。Composer 推荐使用 HTTPS 来保证数据传输的安全性。
为什么会出现这个错误?
从 Composer 2.x 开始,为了提升安全性,官方默认禁用了对纯 HTTP 协议的包源(repository)连接。如果你的 composer.json 文件中配置了使用 http:// 开头的自定义镜像或私有仓库地址,就会触发此警告并阻止安装。
解决方法一:改用 HTTPS 源(推荐)
最安全且推荐的做法是将所有仓库地址从 HTTP 改为 HTTPS。
例如,修改你的 composer.json:
{ "repositories": [ { "type": "composer", "url": "https://your-private-repo.com" } ] }
确保服务器支持 HTTPS 并配置了有效的 SSL 证书。
解决方法二:临时允许 HTTP 连接(仅限可信环境)
如果你处于内网测试环境或无法启用 HTTPS 的情况,可以通过设置 Composer 配置来允许 HTTP。
运行以下命令:
composer config --global secure-http false
这会全局关闭 HTTPS 强制要求,但存在安全风险,建议仅用于开发或受信任网络中。
如果你想只为某个项目关闭,进入项目目录后执行:
composer config secure-http false
该设置仅作用于当前项目的 composer.json。
验证与恢复建议
完成操作后,尝试重新运行 composer install 或 update 看是否解决问题。
长期来看,应尽快将私有仓库升级为 HTTPS 支持,避免因安全策略升级导致后续兼容问题。
基本上就这些,关键是优先使用加密连接,实在不行再考虑临时放宽限制。


