CONNECT 后从代理收到 HTTP 代码 501
Posted
技术标签:
【中文标题】CONNECT 后从代理收到 HTTP 代码 501【英文标题】:Received HTTP code 501 from proxy after CONNECT 【发布时间】:2017-06-25 15:48:11 【问题描述】:每当我尝试从 bitbucket 克隆存储库时,都会出现以下错误:
致命:无法访问“https://user_name@bitbucket.org/user_name/repo_name.git/”:
无法理解问题所在。我正在从 bitbucket 存储库 Web 复制 git clone
命令。我也设置了 git http.proxy
但没有用。
如果需要更多信息,请告诉我。
谢谢
【问题讨论】:
【参考方案1】:很明显,您的代理不支持HTTP CONNECT tunneling,这就是它响应HTTP 501 (Not implemented)
代码的原因:
HTTP CONNECT 隧道
HTTP 代理服务器后面的 HTTP 隧道的一种变体是 使用“CONNECT”HTTP 方法。
在这种机制中,客户端请求 HTTP 代理服务器转发 TCP 连接到所需的目的地。然后服务器继续 代表客户端建立连接。一旦连接有了 已被服务器建立,Proxy服务器继续代理 进出客户端的 TCP 流。请注意,只有初始 连接请求是 HTTP - 之后,服务器只是代理 建立 TCP 连接。
这种机制是 HTTP 代理后面的客户端可以访问的方式 使用 SSL(即 HTTPS)的网站。
并非所有 HTTP 代理服务器都支持此功能,即使是那些 做,可能会限制行为(例如只允许连接到 默认 HTTPS 端口 443,或阻止不出现的流量 是 SSL)。
【讨论】:
嗯,我应该让我的网络管理员允许代理在没有 SSL 的情况下工作吗? 那行不通,因为 Bitbucket 对所有内容强制执行 SSL。以上是关于CONNECT 后从代理收到 HTTP 代码 501的主要内容,如果未能解决你的问题,请参考以下文章