Squid Proxy 为 HTTP 和 HTTPS 返回不同的错误消息


Squid Proxy Returns Different Error Messages For HTTP vs. HTTPS

我在Windows 7 Pro 64位笔记本电脑上使用带有cURL扩展名7.25.0的PHP 5.3.13。 我正在使用PHP和cURL连接到上游Squid v3.3.10代理服务器。 我正在使用基本身份验证对代理进行身份验证。

我遇到的问题是,当我尝试通过代理连接到 HTTP URL 与 HTTPS URL 时,我从 PHP curl_error($ch) 函数收到不同的错误消息。 当我故意使用 HTTP URL 向代理发送错误的身份验证凭据时,我从 PHP curl_error($ch) 函数收到的错误消息是:

the requested URL returned error: 407

当我使用错误的凭据向 HTTPS URL 发送相同的请求时,我收到来自 PHP curl_error($ch) 函数的以下消息:

http response code said error
HTTP

URL 响应是我所期望的,这意味着它返回 HTTP 错误代码(407,因为凭据错误)。 但是 HTTPS URL 错误消息根本不返回任何 HTTP 代码。 我试图理解为什么会发生这种情况,以便我可以在项目的错误处理程序中考虑这些不同的响应。 有人有这个问题的经验吗? 这是鱿鱼代理 HTTPS 身份验证配置问题吗?

任何帮助将不胜感激!

- 比尔·瓦伦斯

我偶然发现了这个问题的答案。 当我在WampServer 2.2E开发环境中将PHP从5.3.13升级到5.4.45时,我发现PHP 5.4.45没有返回http response code said error消息。 它不返回任何内容,这是我在涉及HTTPS错误时所期望发生的事情。错误消息是由 PHP 5.3.13 生成的,而不是由 PHP 5.4.45 生成的。