首先设置全局 Packagist 仓库为 HTTPS,再检查并替换项目中 HTTP 镜像为 HTTPS 版本,然后通过配置 secure-http 为 true 禁用不安全协议,最后确保 SSL 证书验证开启,从而强制 Composer 全程使用 HTTPS 连接下载包。
要让 Composer 强制使用 HTTPS 来下载所有包,可以通过配置 Composer 的全局设置来实现。Composer 默认会优先使用 HTTPS 协议,但为了确保所有请求都通过安全连接进行,你可以显式设置镜像或修改仓库协议策略。
1. 修改默认 Packagist 镜像为 HTTPS
确保 Packagist 的源使用 HTTPS 协议。运行以下命令设置默认的 Packagist 仓库:
composer config –global repo.packagist composer https://packagist.org
这会强制 Composer 使用 HTTPS 连接官方 Packagist 服务。
2. 检查并替换项目中的 HTTP 镜像
如果你或其他人曾添加过使用 HTTP 的自定义镜像(例如国内镜像),需要确认它们是否使用 HTTPS。比如使用阿里云或 Laravel China 的镜像时,应使用 HTTPS 版本:
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
- 阿里云镜像:https://mirrors.aliyun.com/composer/
- Laravel China 镜像:https://packagist.laravel-china.org
更新镜像命令示例:
composer config –global repo.packagist composer https://mirrors.aliyun.com/composer/
3. 禁用不安全的协议(可选)
Composer 本身没有直接选项禁止 HTTP,但你可以通过环境或网络层限制。不过更实际的方法是定期检查配置中是否有非 HTTPS 源:
composer config –list
查看输出中的 repositories 部分,确保所有 URL 以 https:// 开头。
4. 验证 SSL 证书(增强安全性)
确保 PHP 和 Composer 正确验证 SSL 证书。检查 php.ini 中的以下设置:
你也可以在 composer.json 中设置:
{ “config”: { “secure-http”: true } }
该配置会阻止任何通过 HTTP 提供的自定义仓库,只允许 HTTPS。
基本上就这些。开启 secure-http 并确保所有仓库使用 HTTPS,就能有效强制 Composer 全程使用安全连接。不复杂但容易忽略的是本地配置残留的 HTTP 源,建议定期清理和审查。
以上就是php laravel js json composer ssl curl 阿里云 ai php laravel composer json cURL http https ssl