Coldfusion 正在检索具有cfhttp的客户数据-I/O异常:对等方未通过身份验证

Coldfusion 正在检索具有cfhttp的客户数据-I/O异常:对等方未通过身份验证,coldfusion,http-headers,shopify,Coldfusion,Http Headers,Shopify,我已经设置了一个私人应用程序,可以读取客户详细信息和客户组 我的冷静: <cfhttp url="https://[api-key]:[password]@rhein-essentials.myshopify.com/admin/customers.json" method="get" result="httpResp" timeout="120"> <cfhttpparam type="header" name="Content-Type" value="app

我已经设置了一个私人应用程序,可以读取客户详细信息和客户组

我的冷静:

<cfhttp 
  url="https://[api-key]:[password]@rhein-essentials.myshopify.com/admin/customers.json"
  method="get" result="httpResp" timeout="120">
  <cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfdump var="#httpResp#" />
如您所见,它返回错误“连接失败”。详细错误添加了“I/O异常:对等未验证”。起初,我倾向于认为这是我的ColdFusion代码的一个问题。但我随后尝试使用相同的url并将其直接插入浏览器。当我登录Shopify网站时,url会重定向到并正确显示数据。但是,当我注销时,url会重定向到。使用api密钥和密码,这样我就可以远程访问数据,而无需登录,这难道不重要吗

我做错了什么?如果不是通过ColdFusion,我怎么能在不登录的情况下从存储中检索数据?正如@RRK指出的那样

很可能是TLS1.2问题,这是CF9的已知问题。能否尝试将此
-Dhttps.protocols=TLSv1.2
添加到CF administrator中的JVM设置中


这似乎确实是一个CF9问题,因为在升级到CF 2016修补程序6以及Java 8 x64 V 172之后,它很好地检索到了数据。

CF版本和它运行的Java版本是什么?@RRK 9和1.8.0_144-b01。很可能这是一个
TLS1.2
问题,这是CF9的已知问题。您可以尝试将此
-Dhttps.protocols=TLSv1.2
添加到CF administrator中的JVM设置中吗?另一件需要检查的事情是,您在服务器上使用的Java密钥库中是否有站点的公共TLS证书。或者它是受信任的证书颁发机构。我认为该证书未安装在coldfusion的证书信任库中。很高兴它已解决,并感谢您发布该解决方案。虽然如果@RRK的评论是答案,或者是有助于答案的话,我还是想让他们下次把自己的评论提升为答案。感谢您的帮助:)@Ageax RRK欢迎推广他们的评论,因为我觉得这与我使用的解决方案不同。然而,由于这并不是我所使用的解决方案,我只是不去读我所读的。在我看来,RRK首先应该把它作为一个答案发布。@SypderScript-是的,这是一个棘手的问题。有时人们故意这样做,有时则是因为他们在等待反馈/确认它解决了问题。这就是说,我同意总体解决方案是不同的,因此无论哪种方式,它仍然需要一个单独的答案。
struct
Charset         [empty string]
ErrorDetail     I/O Exception: peer not authenticated
Filecontent     Connection Failure
Header          [empty string]
Mimetype        Unable to determine MIME type of file.
Responseheader  struct[empty]
Statuscode      Connection Failure. Status code unavailable.
Text            YES