代理IP返回认证成功后,请求仍出现超时、502或“目标连接失败”,通常不是账号密码问题,而是链路在认证之后的某一层失败。HTTP代理至少包含代理入口、认证、CONNECT隧道、目标端口和目标服务响应;HTTPS还要在隧道内完成TLS握手。排查时应把这些阶段拆开,不能看到“认证成功”就认定代理可用。
先区分代理响应和目标响应
在自有接口或明确获授权的目标上,保留响应状态、代理响应头、请求ID和时间戳。用不暴露业务数据的方式查看连接过程:
curl -v --proxy http://user:password@proxy.example:port https://service.example.test/health
命令中的主机、账号和端口均为占位符。关注代理返回的 407、200 Connection Established、502 或连接超时。407通常仍在代理认证阶段;收到 200 Connection Established 只说明隧道已建立,后续目标连接或TLS仍可能失败。
按四段链路定位
- 入口:客户端能否建立到代理主机和端口的TCP连接,DNS是否解析到预期地址。
- 认证:用户名、密码、协议前缀和特殊字符是否按客户端格式传递;不要把凭据写入共享日志。
- CONNECT与目标端口:代理是否允许访问目标域名和端口,目标端是否拒绝、超时或只接受IPv6/IPv4其中一种。
- 目标响应:隧道建立后,TLS SNI、证书链、HTTP版本和目标应用状态是否正常。
每次只改变一个变量。例如固定代理和客户端,仅把目标换成自己管理的健康检查端点;或固定目标,仅更换代理入口。这样才能区分代理策略与目标服务故障。
502、超时和连接拒绝怎么看
- 代理立即返回502:常见于代理无法解析目标、无法建立上游连接或策略拒绝。应查看代理服务的错误分类和请求ID。
- TCP连接超时:可能是目标端口被防火墙丢弃、网络路径不通、代理排队或目标只允许特定地址族。
- Connection refused:通常表示目标主机主动拒绝,常见于服务未监听该端口或入口策略明确拒绝。
- 隧道建立后TLS失败:代理已完成CONNECT,问题转到SNI、证书、协议版本或目标服务配置。
确认目标端口与地址族
域名可能同时解析出IPv4和IPv6,而代理出口只具备其中一种可达性。对自有服务可分别提供IPv4、IPv6和不同端口的健康端点,记录代理日志中的目标地址族;不要只用浏览器“能否打开”作结论。目标站若限制非标准端口,也应以服务文档和授权策略为准。
不要把CONNECT失败当成换IP建议
如果目标服务拒绝代理出口,首先应确认授权、端口白名单、代理套餐能力和目标防火墙规则。反复更换出口可能掩盖配置问题,也可能触发目标风控。对自有系统,正确做法是修正允许的网段、端口或服务监听;对第三方目标,应停止重试并联系维护方。
验收清单
- 入口TCP可达,代理协议和认证格式正确。
- 代理返回明确的CONNECT结果,且没有把407误判为目标错误。
- 目标域名、端口、IPv4/IPv6路径均有可复现的对照记录。
- 隧道建立后再检查TLS和HTTP响应,不把两层混在一起。
- 日志只保留请求ID、状态和时间线,凭据与Cookie全部脱敏。
代理认证只是链路中的一个闸门。把入口、认证、CONNECT、目标端口和TLS分层,通常比盲目换代理IP更快找到真正的失败点。






