composer报“redirecting to http://”是本地网络重定向循环所致,主因是代理/hosts/dns劫持导致302跳转闭环,需通过curl -v和nslookup验证并清除http_proxy、hosts条目或关闭代理工具。

Composer 报 Redirecting to http:// 循环,不是 Composer 本身的问题,而是你本地网络层把 HTTPS 请求强制跳转到了一个不支持 HTTPS 的地址(比如 http://127.0.0.1:8080),那个地址又跳回 packagist.org,形成闭环。直接清 composer clear-cache 没用——缓存里根本没存重定向逻辑。
验证是否真有重定向循环
别信 Composer 日志,用 curl -v 绕过它直测底层网络:
- 运行
curl -v https://packagist.org/packages.json,重点看输出里有没有和 <code> 行;如果 <code>location指向http://localhost或http://127.0.0.1,就是本地劫持 - 再跑
nslookup packagist.org,检查返回 IP 是否为官方地址:146.75.119.170(IPv4)或2a02:6b8::146:75:119:170(IPv6);如果不是,说明 DNS 被污染或/etc/hosts干预
清理代理、hosts 和 DNS 污染
重定向循环的三大常见源头,必须逐个排查:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
HTTP_PROXY或HTTPS_PROXY环境变量指向了旧版 Charles/Fiddler 或调试代理——它们不支持 HTTPS 重定向,运行unset HTTP_PROXY HTTPS_PROXY(Linux/macOS)或set HTTP_PROXY=(Windows)临时关闭 - 检查
/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows),删掉类似127.0.0.1 packagist.org的条目 - 公司路由器或公共 DNS 劫持了
packagist.org解析,可临时改 DNS:Linux/macOS 编辑/etc/resolv.conf加nameserver 8.8.8.8;Windows 在网络适配器里手动设
临时绕过问题源快速验证
不想动系统配置?用最小干预确认问题根源:
- 强制走真实 IP:Linux/macOS 运行
curl --resolve packagist.org:443:146.75.119.170 https://packagist.org/packages.json(要求 curl ≥ 7.21.3) - Windows 下手动指定 IP + Host 头:
curl -H "Host: packagist.org" https://146.75.119.170/packages.json - 切阿里云镜像并立刻清缓存:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,然后composer clear-cache
为什么 composer clear-cache 总是无效
因为 composer clear-cache 只清 ~/.composer/cache/ 里的包文件和元数据,对重定向循环完全无感——问题压根不在 Composer 缓存,而在系统 DNS、hosts 或代理设置。反复执行它却没效果,恰恰说明你还没找到真正的拦截点。










