You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CURL调用返回错误码56:代理CONNECT后返回HTTP 406,求解决方案

AWS云内服务器CURL请求返回Error 56(HTTP 406 from proxy)问题排查

本次CURL请求用于生成用户令牌,令牌返回正常时用户可访问所有菜单,否则用户会被应用登出。当前调用返回错误:Error Number: 56,Error String:Received HTTP code 406 from proxy after CONNECT。

使用的CURL代码如下:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, 'Proxy IP');
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$result = curl_exec($ch);

外部服务器调用该CURL可正常获取令牌,但AWS云内服务器调用出现上述错误,请问遗漏了哪些配置或哪里存在问题?

可能的问题及解决方法

  • 代理配置不完整
    AWS云内服务器使用的代理可能需要额外认证或指定端口。当前仅设置了CURLOPT_PROXY,如果代理要求用户名密码,需添加CURLOPT_PROXYUSERPWD参数;如果代理使用非默认端口,要在IP后拼接端口,格式为Proxy IP:端口号。

  • 请求头触发406错误
    406错误意味着服务器无法返回匹配客户端Accept头的内容。AWS环境下CURL的默认请求头可能和外部服务器不同,建议显式设置兼容的Accept头:

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: */*'));
    
  • AWS安全组/NACL限制
    检查AWS服务器所属的安全组和网络访问控制列表(NACL),确认已开放代理服务器端口、目标令牌服务器端口(通常是443)的出站权限。外部服务器不受AWS这些规则限制,所以能正常访问。

  • 代理拦截AWS源IP
    部分代理会限制特定IP段访问,AWS云服务器的公网IP可能被代理拦截。联系代理管理员确认是否允许该AWS服务器IP访问代理服务。

  • CURL版本或SSL配置差异
    AWS服务器上的CURL版本、SSL证书配置可能和外部服务器不同。可以先临时添加SSL参数测试(生产环境不建议长期使用):

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    

    如果测试有效,再配置正确的CA证书路径。

内容的提问来源于stack exchange,提问作者Rajesh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:55:23