【发布时间】:2014-08-30 15:16:33
【问题描述】:
我正在构建一个代理服务器,在收到 HTTP CONNECT 请求后,我建立到目标服务器的连接,如果成功返回
HTTP/1.1 200 Connection established
<<empty line>>
在 Firefox 中,这会导致隧道打开,数据被交换、加载并最终在浏览器中交付/呈现
在谷歌浏览器中,我立即看到:
ERR_TUNNEL_CONNECTION_FAILED
由于服务器似乎在 Firefox 上运行良好,但在 Chrome 上却不行,我只能假设 Chrome 期望得到不同的响应。有谁知道我在这里做错了什么?
编辑:
我在这里发现了this chromium 问题,它描述了相同的症状 - 用户得到 ERR_TUNNEL_CONNECTION_FAILED。我启用了 --log-net-log 命令行参数,可以在日志中看到 ERR_TUNNEL_CONNECTION_FAILED 错误是在收到我的 200 Connection established proxy 响应后直接发生的。
在请求和响应之间,我看到一个 -109 错误,对应于 ADDRESS_UNREACHABLE。
我在下面包含了我认为网络日志相关部分的摘录:
{"params":{"headers":["Host: mail.google.com","Proxy-Connection: keep-alive","User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36"],"line":"CONNECT mail.google.com:443 HTTP/1.1\r\n"},"phase":0,"source":{"id":822,"type":5},"time":"331488980","type":125},
{"params":{"headers":["Host: mail.google.com","Proxy-Connection: keep-alive","User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36"],"line":"CONNECT mail.google.com:443 HTTP/1.1\r\n"},"phase":0,"source":{"id":822,"type":5},"time":"331488980","type":129},
{"params":{"byte_count":227},"phase":0,"source":{"id":822,"type":5},"time":"331488980","type":61},
{"phase":2,"source":{"id":822,"type":5},"time":"331488981","type":124},
{"phase":1,"source":{"id":822,"type":5},"time":"331488981","type":126},
{"phase":1,"source":{"id":822,"type":5},"time":"331488981","type":207},
{"params":{"address_family":0,"allow_cached_response":true,"host":"mail.google.com:0","is_speculative":false,"source_dependency":{"id":0,"type":0}},"phase":1,"source":{"id":823,"type":8},"time":"331489008","type":4},
{"params":{"source_dependency":{"id":823,"type":8}},"phase":1,"source":{"id":824,"type":21},"time":"331489008","type":299},
{"params":{"source_dependency":{"id":824,"type":21}},"phase":1,"source":{"id":825,"type":14},"time":"331489008","type":34},
{"params":{"address":"[2001:4860:4860::8888]:53"},"phase":1,"source":{"id":825,"type":14},"time":"331489008","type":70},
{"params":{"net_error":-109},"phase":2,"source":{"id":825,"type":14},"time":"331489008","type":70},
{"phase":2,"source":{"id":825,"type":14},"time":"331489008","type":34},
{"phase":2,"source":{"id":824,"type":21},"time":"331489008","type":299},
{"phase":0,"source":{"id":823,"type":8},"time":"331489008","type":6},
{"phase":2,"source":{"id":823,"type":8},"time":"331489008","type":4},
{"params":{"byte_count":74},"phase":0,"source":{"id":822,"type":5},"time":"331489052","type":63},
{"phase":2,"source":{"id":822,"type":5},"time":"331489052","type":207},
{"params":{"headers":["HTTP/1.1 200 Connection established"]},"phase":0,"source":{"id":822,"type":5},"time":"331489052","type":127},
{"params":{"net_error":-111},"phase":2,"source":{"id":822,"type":5},"time":"331489052","type":126},
如果您需要查看更多日志,我已经发布了整个日志here
【问题讨论】:
-
你解决过这个问题吗?
-
不完全是,但我开始重新设计我的解决方案,这导致我提出这个问题,这让我需要去哪里。也许它也会帮助你? stackoverflow.com/questions/25188595/…
标签: google-chrome https proxy-server