【proxy】Linux上各类代理设置

一、说明 代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,它负责转发合法的网络信息,对转发进行控制和登记。
代理服务器作为连接Internet(广域网)与Intranet(局域网)的桥梁,在实际应用中发挥着极其重要的作用。
Linux下有很多程序都只有命令行接口,对于这类程序,它们通过代理服务器(proxy)访问网络的方式也不尽相同。
本文总结了一些常用Windows/Linux程序配置代理服务器的方法。


二、通用代理服务器配置 对于大多数Linux控制台程序,例如Debian或Ubuntu中的apt-get和aptitude命令、git命令、wget命令,这些程序都使用http_proxy和ftp_proxy环境变量来获取代理服务的配置。


Linux上代理的临时设置
# exporthttp_proxy="http://username:password@proxyServer:port/"
# exporthttps_proxy="http://username:password@proxyServer:port/"
# export ftp_proxy="http://username:password@proxyServer:port/"
# export no_proxy="127.0.0.1,192.168.124.0/16,*.example.com"


如果你的代理服务器需要用户名和密码才能访问,需要填写上面的username和passwd部分,否则的话,省略这两部分。

proxyServer为代理服务器的域名(如果能解析)或者IP。
no_proxy 设置你明确不需要走代理的IP 域名 网段之类,用逗号隔开,如网络要求访问外网走代理,访问内网无需走代理的情况。



# exporthttp_proxy="http://proxyServer:port/"
# exporthttps_proxy="http:/proxyServer:port/"
# export ftp_proxy="http://proxyServer:port/"


Linux上代理的永久设置
将代理设置添加到环境文件
# cat>>/etc/profile<< EOF
exporthttp_proxy="http://username:password@proxyServer:port/"
exporthttps_proxy="http://username:password@proxyServer:port/"
export ftp_proxy="http://username:password@proxyServer:port/"
export no_proxy="127.0.0.1,192.168.124.0/16,*.example.com"
EOF
#source/etc/profile


Linux上代理的临时取消
#unsethttp_proxy
#unset https_proxy
#unsetftp_proxy
#unsetno_proxy


windows操作系统代理设置

【proxy】Linux上各类代理设置
文章图片
【proxy】Linux上各类代理设置
文章图片
【proxy】Linux上各类代理设置
文章图片


windows cmd代理设置(临时生效)

【proxy】Linux上各类代理设置
文章图片
【proxy】Linux上各类代理设置
文章图片
sethttp_proxy="http://username:password@proxyServer:port/"
set https_proxy="http://username:password@proxyServer:port/"
setftp_proxy="http://username:password@proxyServer:port/"
setno_proxy="127.0.0.1,192.168.124.0/16,*.example.com"




windows 上浏览器代理设置 谷歌浏览器访问:chrome://settings/


【proxy】Linux上各类代理设置
文章图片
【proxy】Linux上各类代理设置
文章图片
其他浏览器代理设置,大同小异,无需赘言了!




三、docker相关的代理设置

因为某些原因,国内网络访问 Docker Hub 拉取官方 Docker 镜像时经常超时。怎么解决呢?可以使用 HTTP 代理来加速访问。
国内稍具规模的中大型技术公司应该有正常访问国外网站的代理服务器。


#mkdir -p/etc/systemd/system/docker.service.d
#vim/etc/systemd/system/docker.service.d/http-proxy.conf
###############################################################
[Service]
Environment="HTTP_PROXY=http://username:password@proxyServer:port/"
Environment="HTTPS_PROXY=http://username:password@proxyServer:port/"
Environment="NO_PROXY=localhost,127.0.0.1"
###############################################################


【proxy】Linux上各类代理设置
文章图片
# systemctldaemon-reload
# systemctl restart docker
# docker info| grep-i proxy


打镜像时的代理临时设置 # docker build--help
【proxy】Linux上各类代理设置
文章图片


# docker build\
--build-arghttp_proxy="http://username:password@proxyServer:port/"\
--build-arghttps_proxy="http://username:password@proxyServer:port/"\
-f Dockerfile\
-tsonatype/nexus3:3.5.2 .




四、参考

Linux下代理服务器(proxy)配置
https://www.cnblogs.com/klb561/p/9175583.html


docker代理配置
https://blog.frognew.com/2017/01/docker-http-proxy.html


Control Docker with systemd
【【proxy】Linux上各类代理设置】https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

    推荐阅读