Mac处于企业代理环境,使用Homebrew安装Azure CLI失败求助
解决企业代理下Mac安装Homebrew及Azure CLI的问题
一、修复curl代理认证失败问题
curl: (56) Received HTTP code 407 from proxy after CONNECT 是因为企业代理启用了NTLM认证,普通账号密码参数无法适配这种认证模式,需要添加--proxy-ntlm参数:
curl --proxy-ntlm -x http://sub.proxy.att.com:8080 -U tk0991:Password0x4001 https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
执行后如果能正常返回脚本内容,说明代理认证成功。
二、通过代理完成Homebrew安装
将适配NTLM认证的curl命令整合到Homebrew安装脚本中:
/bin/bash -c "$(curl --proxy-ntlm -x http://sub.proxy.att.com:8080 -U tk0991:Password0x4001 -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
三、配置Homebrew全局代理(避免后续安装超时)
安装完成后,必须给Homebrew配置代理,否则后续安装包仍会因代理问题失败:
- 创建Homebrew配置目录(若不存在):
mkdir -p ~/.brew
- 写入代理配置到
~/.brew/config:
echo 'export HTTP_PROXY="http://tk0991:Password0x4001@sub.proxy.att.com:8080"' >> ~/.brew/config echo 'export HTTPS_PROXY="http://tk0991:Password0x4001@sub.proxy.att.com:8080"' >> ~/.brew/config echo 'export NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"' >> ~/.brew/config
- 让配置立即生效:
source ~/.brew/config
四、安装Azure CLI
Homebrew代理配置完成后,直接执行安装命令:
brew install azure-cli
若临时出现代理问题,可给brew命令直接指定代理参数:
HTTP_PROXY=http://tk0991:Password0x4001@sub.proxy.att.com:8080 HTTPS_PROXY=http://tk0991:Password0x4001@sub.proxy.att.com:8080 brew install azure-cli
可选:用cntlm避免明文密码(企业SSO场景)
如果企业代理用域账号SSO认证,可通过cntlm工具处理NTLM认证,无需明文写密码:
- 安装cntlm:
brew install cntlm - 编辑
/usr/local/etc/cntlm.conf,填写代理地址、域账号信息 - 启动cntlm服务:
brew services start cntlm - 后续curl和brew统一使用
localhost:3128作为代理地址
内容的提问来源于stack exchange,提问作者phani kumar
相关产品推荐
相关产品推荐

