以下内容运行正常
curl https://packagecloud.io/install/repositories/github/git-lfs/config_file.list?os=Ubuntu\&dist=xenial\&source=script
但是如果我使用sudo
运行它,则会返回错误:
curl: (7) Failed to connect to packagecloud.io port 443: Connection refused
为什么?
注意:我在公司代理后面。
答案 0 :(得分:2)
curl读取<url scheme>_proxy
(在这种情况下为https_proxy
)或all_proxy
环境变量来设置要使用的默认代理服务器(如here所述)。但是,默认情况下,sudo在最小环境(env_reset
设置)中执行命令。
可以暂时禁用此安全功能,以便使用-E
(--preserve-env
)命令行选项保留现有的环境变量。可以将要列入白名单的各个环境变量指定为以逗号分隔的列表:
sudo --preserve-env=https_proxy curl ...
可以使用sudoers文件中的env_keep
设置将其永久化。例如,为所有用户保留所有以_proxy
结尾的环境变量:
Defaults env_keep += "*_proxy"