作为一个程序员,如果因为网络原因,不能享受全世界程序员的发展成果,无疑是受损的...
目录
一、背景:
二、代理种类及区别:
1、代理种类:
1>、http代理:
2>、https代理:
3>、socks代理:
2、代理区别:
1>、概念不同:
2>、代理速度不同:
三、代理配置前:
1、查看网络:
2、访问测试:
四、配置代理:
1、打开.zshrc(或bash_profile)文件:
2、开启代理软件,并复制其终端代理配置:
3、.zshrc中添加代理:
4、使变更生效:
五、代理配置后:
1、打开代理:
2、查看代理:
3、测试代理:
4、关闭代理:
一、背景:
有些人会有疑惑,我都打开了代理软件,但是在终端进行一些工具如brew安装/访问时,还会提示无法访问。主要原因就是:打开代理软件并不等于开启了终端代理,一般需要自己去配置终端代理才能生效。
二、代理种类及区别:
代理主要分为三种http、https、socks代理:
1、代理种类:
1>、http代理:
先来看看流程,http客户端发送一个请求到http代理,让代理到远端目的服务器上获取资源然后传递给客户端。
http代理从客户端获取请求,分析并做出对应动作。如果请求的远端服务器的资源不在代理的缓存中从而需要重新获取的话,代理会做为客户端连接到远端服务器,获取请求的资源并传递给客户端。
这种http连接不能保证端到端的安全性。
2>、https代理:
https代理就是为了解决端到端安全性而出现的。还是先看看流程,客户端发送一个特殊的CONNECT请求给代理,代理通过和远端服务器建立一条TCP连接从而创建一个不透明的隧道。TCP的套接字建立完成后,https代理返回一个200状态码给客户端并开始在客户端以及远端服务器之间转发数据。这种设计意味着客户端和远端服务器之间不仅仅局限于https流量,事实上任何协议都可以通过这个隧道在客户端和远端服务器之间传递。
代理连接到远端服务器并向客户端进行确认,从而建立一条不透明隧道。正是因为这种不透明的隧道,端到端的安全性得到了保障。
除非是要做debug或者是穿刺实验,不要使用http代理去获取https资源。
3>、socks代理:
其背后的技术过程与SOCKS代理连接方法有关,该方法称为“ 隧道”。使用HTTP代理,客户端和服务器通过代理本身交换信息,该代理充当两个基于Web的界面之间的中间人。使用SOCKS隧道,客户端向客户端发出直接请求,并在获得明确许可(称为握手)的情况下打开隧道。
这是基于TCP / IP的连接,并且由于其直接性和透明性而非常安全。很明显,何时打开了隧道,很显然,SOCKS代理无法访问隧道中的数据。
SOCKS代理具有两个主要版本:4和5。最新版本SOCKS5增加了对安全性和UDP的更多支持。对于基本用户,任何版本的SOCKS都将很好地工作,并且两者都非常安全。
2、代理区别:
1>、概念不同:
(1)socks5代理,采用socks协议的代理服务器,是一种通用的代理服务器。
(2)http proxy,采用http协议代理服务器,主要代理浏览器访问网页。http和https协议现在已经通用。
2>、代理速度不同:
(1)http代理工作在应用层上,只允许用户通过HTTP协议访问外部网站。
(2)Socks5代理工作在会话层,不要求应用程序遵循特定的操作系统平台,Socks5代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。
所以,Socks5代理比http代理速度要快得多。
图片来源:参考
三、代理配置前:
1、查看网络:
curl cip.cc
或
或
//查看更详细信息
curl ipinfo.io
2、访问测试:
curl -v google.com
可以看到,未配置网络代理前,是无法访问google网站的。
四、配置代理:
1、打开.zshrc(或bash_profile)文件:
open .zshrc
2、开启代理软件,并复制其终端代理配置:
你懂得,略。
3、.zshrc中添加代理:
将上面复制的代理配置,填入proxy中,并按照如下方式配置unproxy及proxy_test,方便关闭代理及测试代理。
# proxy list
alias proxy='export https_proxy=http://127.0.0.1:23457;export http_proxy=http://127.0.0.1:23457;export all_proxy=socks5://127.0.0.1:23456'
alias unproxy='unset http_proxy;unset https_proxy;unset all_proxy'
alias proxy_test='curl -v google.com'
4、使变更生效:
source .zshrc
这样就可以方便的开启/关闭代理、测试代理了。
五、代理配置后:
1、打开代理:
proxy
2、查看代理:
【如果IP地址没变,可以考虑开启全局代理再尝试】
或
curl ipinfo.io
可以发现代理已经切换至老美。
3、测试代理:
proxy_test
出现如上连接请求过程及HTML页面的获取结果,则表示代理已经配置成功。文章来源:https://www.toymoban.com/news/detail-776772.html
4、关闭代理:
unproxy
至此,代理被关闭,网络又回归从前~文章来源地址https://www.toymoban.com/news/detail-776772.html
到了这里,关于Mac终端代理配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!