代理类型
- 普通代理
- 隧道代理
普通代理
正向代理:客户端通过修改配置,显式指定浏览器代理地址,代理服务器可以通过请求头的一些字段(X-Forwarded-For
)决定是否隐藏客户端的真实IP,抑或是伪造IP,如X-Forwarded-For伪造客户端ip漏洞。
反向代理:客户端正常访问,但实际访问的是代理,由代理向真实的服务器发起请求,用来隐藏服务器 IP 及端口,反向代理是 Web 系统最为常见的一种部署方式,如Nginx中间件。
这种代理的本质是 “中间人”,而HTTPS的机制可以抵抗中间人攻击。
隧道代理
假设通过代理访问 A 网站,浏览器首先通过 CONNECT
请求,让代理创建一条到 A 网站的 TCP 连接,只需要提供服务器域名及端口即可,并不需要具体的资源路径;TCP 连接建好后,代理服务器向客户端发送Connection Established
报文,浏览器收到响应报文后直接向TCP连接写入数据,就好像建立了一个看不到内部的隧道。
这种代理,理论上适用于任意基于 TCP 的应用层协议,比如HTTPS 网站使用的 TLS 协议。
对于 HTTPS 来说,客户端透过代理直接跟服务端进行 TLS 握手协商密钥,所以依然是安全的,使用wireshake抓包会发现是交换的是加密后的数据,代理服务器没有密钥,无法解密。
境外代理能不能躲避国家监管
躲不掉,三大运营商(移动、联通、电信)以及广电,除非你不使用他们提供给的网络上网,不然你的代理形同虚设(只能防一般情况,不可能和国家抗衡)。提一嘴,自己私人搭建跨海光纤是违法行为。
很好理解,你不用运营商的网络,你连互联网都上不去,谈何连接代理服务器?你在连接代理前终归是经过了运营商的网络,你不要把这个东西看的很万能。