proxy 在centos7上的使用方法 (不定期更新)

yum:

编辑/etc/yum.conf

追加proxy=socks5://127.0.0.1:1080

或者

proxy=http://127.0.0.1:8118

 

p.s. 当proxy为http类型时候,yum下载repo文件时候dns解析默认走代理(即resolv.conf文件不配置dns server也行)。

但是socks5类型代理必须配置dns server。

 

 

pip:

pip --proxy  192.168.10.100:8118

仅支持http/https,不支持socks5

tips:

可以把alias pip="pip --proxy 192.168.10.100:8118" 写入bash_profile

 

 

docker:

暂时不支持socks proxy

但是:可以把socks5代理转换成http代理

然后docker就可以间接使用socks代理了。

具体转换方法可以参考下列链接:

http://blog.csdn.net/onlyellow/article/details/52441915

 

docker使用http代理方法如下:

# cat /etc/sysconfig/docker |tail -n2

HTTP_PROXY=http://127.0.0.1:8118
export HTTP_PROXY

然后systemctl restart docker

docker pull就能走代理下载了

 

最新版的docker没有/etc/sysconfig/docker这个文件了。需要另外方法配置代理。

引用stackoverflow的一个回答(亲测有效):

http://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy

 

docker-ce之后,上文中使用http-proxy文件方法也失效了。必须直接添加到docker.service文件中才行

在/usr/lib/systemd/system/docker.service中追加

Environment="HTTP_PROXY=http://192.168.10.100:8118"

Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"

然后systemctl daemon-reload

systemctl restart docker 后即可

 

systemctl show --property Environment docker

git:

git config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'

git config --global --unset http.proxy

git config --global --unset https.proxy

 

这里说明下windows上设置git 与centos7不一样:

git config --global http.proxy  127.0.0.1:1080
git config --global https.proxy  127.0.0.1:1080

不需要socks5://前缀。 蛋疼。

git也有自己的协议:以git://开头

今天下载一个代码,没注意给的是git://开头的下载方式,导致虽然配置了http.proxy 依然无效的情况。查了半天才发现git协议走不了http proxy。测试半天总算找到一个办法

参考链接:https://www.liuhaolin.com/moren/449.html

yum -y install epel-release
yum -y install git tmux connect-proxy

cat > ~/.ssh/config < Host github.com
ProxyCommand connect-proxy -S 127.0.0.1:1080 %h %p
HostName %h
Port 22
User git
IdentityFile  ~/.ssh/id_rsa
IdentitiesOnly yes
EOF

# 若果不是root用户
chmod 600 ~/.ssh/config

然后使用git clone git:// 就可以享受proxy了

 

go:

go内部实际上用git下载依赖。所以同git

 

 

curl:

socks需要用户名/密码

$ curl --proxy-user sockd:sockd --socks5 127.0.0.1:1080 'http://check-host.net/ip'

$ curl --proxy-user sockd:sockd --socks5-hostname 127.0.0.1:1080 'http://check-host.net/ip'
 

 

socks无用户名/密码

curl --socks5 192.168.0.1:1080 http://example.com/
curl --socks5-hostname 192.168.0.1:1080 http://example.com/

curl http proxy一次性设置
curl -x 192.168.10.100:8118 ip.gs (仅仅适用于http proxy。 socks proxy参考前文)
curl支持全局http_proxy设置
[root@k8s-master ~]# curl ip.gs
当前 IP:* 来自:中国江苏南京 电信
[root@k8s-master ~]# export http_proxy=http://192.168.10.100:8118
[root@k8s-master ~]# curl ip.gs
当前 IP:* 来自:美国加利福尼亚州洛杉矶 

 

 

 

 

 

你可能感兴趣的:(proxy)