设置全局 Packagist 仓库为 httpS:composer config –global repo.packagist composer https://packagist.org;2. 启用 secure-http 防止不安全协议:composer config –global secure-http true;3. 确保 composer.json 中自定义仓库使用 https:// 开头的 URL;4. 全局配置文件位于 ~/.composer/config.json,可手动添加 “secure-http”: true。启用 secure-http 并统一使用 HTTPS 可强制 Composer 安全通信,防止依赖被篡改,适用于生产环境与团队协作。

要强制 Composer 使用 HTTPS 连接到所有仓库,可以通过配置全局或项目级别的设置来实现。最有效的方式是修改 Composer 的配置,确保所有仓库协议都被限制为 HTTPS。
1. 设置默认仓库使用 HTTPS
Composer 默认使用 Packagist 作为主仓库,其 URL 支持 HTTPS。你可以显式设置以确保使用安全连接:
- composer config –global repo.packagist composer https://packagist.org
这条命令将全局的 Packagist 仓库地址设为 HTTPS 版本,防止意外降级到 HTTP。
2. 禁用不安全的协议(推荐)
Composer 提供了选项来禁止使用不安全的传输方式。通过设置 secure-http 配置项,可以阻止 HTTP 请求:
- composer config –global secure-http true
启用后,任何试图通过 HTTP 添加仓库的操作都会被拒绝。这是强制使用 HTTPS 的关键步骤。
3. 检查并更新项目中的自定义仓库
如果你在 composer.json 中定义了私有或自定义仓库,请确保它们的 URL 以 https:// 开头:
{ "repositories": [ { "type": "composer", "url": "https://your-private-repo.com" } ] }
如果某个仓库仍使用 HTTP,且 secure-http = true 已启用,Composer 将报错并中断操作。
4. 全局配置位置说明
全局配置通常保存在用户主目录下的 composer/config.json 文件中(如:~/.composer/config.json)。你可以手动编辑该文件,加入:
{ "config": { "secure-http": true } }
效果等同于使用命令行设置。
基本上就这些。开启 secure-http 并确保所有仓库使用 HTTPS URL,就能强制 Composer 始终通过安全连接通信。这个设置对生产环境和团队协作尤为重要,能有效防止中间人攻击和依赖篡改。