色戒 多的就不做介绍了,您会明白的!

Linux 以及 Docker 配置 http 代理

⚠️ 本文最后更新于2024年07月18日,已经过了143天没有更新,若内容或图片失效,请留言反馈

都说反向代理比较多,今天来说说正向代理。

以下配置均为正向代理,正向代理可以起到访问无法直接访问的内容的作用,或者对于某些内容具有加速作用。
图片描述

代理分为直接代理和密码代理:
无密码代理如

http_proxy=http://proxy.com:8080/

密码代理则为

http_proxy=http://username:[email protected]:8080/

需要注意的是,如果用户名密码中带有特殊符号,需要进行转义。

常见需要转义的符号:

~ : 0x7E,         ! : 0x21
@ : 0x40,         # : 0x23
$ : 0x24,         % : 0x25
^ : 0x5E,         & : 0x26
* : 0x2A,         ? : 0x3F

一、Linux 配置全局代理
yum、wget 配置代理都是有针对的代理,即使配置了上面两个代理,curl 仍然不能访问外网。

如果对于内网机器,需要所有的网络请求都走代理,则需要配置系统代理。

1、编辑 /etc/profile 进行配置

echo "export http_proxy=http://proxy.com:8080/" >> /etc/profile && \
echo "export https_proxy=http://proxy.com:8080/" >> /etc/profile

2、更新环境文件

source /etc/profile

3、取消系统代理
删除相应配置后更新配置文件。

unset http_proxy
unset https_proxy

二、Docker 配置 http 代理
1、创建目录

mkdir -p /etc/systemd/system/docker.service.d

2、创建配置文件

cd /etc/systemd/system/docker.service.d && echo -e '[Service]\nEnvironment="HTTP_PROXY=http_proxy=http://proxy.com:8080/" "HTTPS_PROXY=https_proxy=http://proxy.com:8080/" "NO_PROXY=localhost,127.0.0.1"' > http-proxy.conf

如果代理设置了密码,在 http:// 后面添加 username:password@ 即可。

3、更新配置并重启

systemctl daemon-reload && systemctl restart docker

三、yum 设置代理
1、编辑 /etc/yum.conf 添加代理

1、无密码

echo "proxy=http://proxy.com:8080/" >> /etc/yum.conf

2、有密码(如果密码带有@符号需要进行转义,转为 %40 即可)

echo "proxy=http://username:[email protected]:8080/" >> /etc/yum.conf

或最后添加

proxy=http://proxy_ip:port/
proxy_username=代理服务器用户名
proxy_password=代理服务器密码

2、更新环境文件

source /etc/yum.conf

四、wget 配置代理
1、编辑 /etc/wgetrc 进行配置

echo "http_proxy=http://proxy.com:8080/" >> /etc/wgetrc && \
echo "https_proxy=http://proxy.com:8080/" >> /etc/wgetrc

2、更新环境文件

source /etc/wgetrc

五、curl 使用代理

curl www.baidu.com -vL -x http_proxy=http://proxy.com:8080/

六、git 使用代理

git clone xxx -c http_proxy=http://proxy.com:8080/

出处:https://zhuanlan.zhihu.com/p/573017646

By 懒人 On