带有sudo的卷毛返回连接被拒绝,但是普通的卷曲运行良好

时间:2019-04-23 20:29:02

标签: linux curl windows-subsystem-for-linux

以下内容运行正常

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

为什么?

注意:我在公司代理后面。

1 个答案:

答案 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"