ColdFusion - CFHTTP无法使用Cloudflare的SSL证书连接到安全网站

时间:2015-03-10 15:48:27

标签: coldfusion ssl-certificate coldfusion-10 cfhttp

我有这段代码:

<cfhttp url="#qCheckSiteID.url#">
<cfdump var="#cfhttp#" />

适用于任何HTTP网址,但不适用于HTTPS。 例如,它适用于https://www.google.com,但https://mywebsite.com在CloudFlare下具有SSL证书,但失败并显示错误:

  

I / O异常:证书中的名称&#34; ssl2000.cloudflare.com&#34;与主机名称不匹配&#34; www.mywebsite.com&#34;。

任何想法如何传递此错误?

1 个答案:

答案 0 :(得分:5)

Cloudflare使用SNI(服务器名称指示)在其免费套餐中提供SSL证书。这意味着这些站点没有唯一的IP地址,但是它们依赖HTTP客户端使用TLS扩展SNI来发送SSL的主机名以使其正常工作。这在今天使用的大多数浏览器上都可以正常工作,但在某些浏览器上会失败:https://support.cloudflare.com/hc/en-us/articles/203041594-What-browsers-work-with-Universal-SSL-

此外,对于CFHTTP与SNI一起使用,它要求您运行Java 1.7或更高版本。完全修补的CF9,10,11服务器支持Java 1.7。目前完全修补的CF10,11服务器支持Java 8。

如果您从未在ColdFusion服务器上更新过Java,那么您可能正在运行Java 1.6或更低版本(除非您运行的是CF11)。

以下视频展示了如何在ColdFusion 10服务器上更新Java:https://www.youtube.com/watch?v=zzC31EAlZ8Y

你可能仍然能够获得CF8并降低Java 1.7+的工作量,但是你可能遇到问题,但是如果你运行CF8以及更低版本,你应该考虑升级,因为Adobe不再支持CF9及以下版本。