代理IP不是一台机器在做事,而是本地与远端配合完成一次转发。把两者的分工看清楚,很多关于原理的疑问会自然解开,排查时也知道该往哪一端找线索。
本地端负责什么
本地端负责发起与打包。程序把请求交给本地处理,由本地补齐连接信息、附上认证凭据,再送往远端。代理IP的使用参数,大多是在这一端被读进去的。
本地端还负责把响应交回程序。远端返回的内容如何交还给原本发起请求的程序,是本地端的收尾工作,代理IP的链路在这一步才算闭环。
远端负责什么
远端负责换出口发出请求。收到的请求由远端用另一个地址重新发出,目标看到的来源就是远端所使用的那一个,代理IP改变来源的作用正在于此。
远端还负责把结果原样带回。内容本身通常不做改动,代理IP在中间起的是搬运与转交的作用,这一点与内容处理类工具并不相同。
两端的分工决定了两端的责任。本地端出问题多半表现为连不上或认证失败,远端出问题更多表现为连接被拒或速度不佳,代理IP的排查可以据此分流。
先把分工想清楚,再去看细节,原理就不容易记乱。代理IP的两端各司其职,配合起来才完成一次完整的转发。
分工也解释了为什么同一份凭据换台机器就不通:本地端的信息没有同步过去,代理IP的链路在起点就断了,后面的环节自然无从谈起。
把两端的职责写进配置记录,遇到问题时按端排查,代理IP的维护效率会明显提高,也更容易把问题交给对应的人处理。
理解分工之后再看配置项,会发现它们大多能归到某一端名下,代理IP的原理也就不再是一团模糊的概念。
