我已经添加了一个SSL证书(来自godaddy,但也尝试过rapidssl)到一个网站.
Safari和IE都可以浏览到https://并报告证书有效,没有任何警告.但是,如果我尝试从iPhone浏览到相同的地址,则会收到无效的证书错误.我正在使用heroku作为相关网站的主机.
有人见过这个吗?我很难过为什么2个不同的iphone会做不到这个,但桌面浏览器就好了......
这里的问题原来是iPhone不支持服务器名称指示(SNI),这是从heroku使SNI SSL工作所必需的.(编辑)现在iOS 3.2以上版本支持它.
您可以通过手机上的Safari访问以下URL来确认SNI:
我想我可以在iphone客户端中设置以下SSL设置:
kCFStreamSSLPeerName = Null
......这解决了这个问题.但我还没有弄清楚这会如何影响安全性 - 文档不是很清楚.
据我了解,当您在云主机(如heroku)上设置自定义域时,它指向代理,并且该名称与您的证书主机名不匹配.Safari和IE等浏览器支持SNI,并知道如何解决这个问题 - 但手机没有.
正如我上面所说,现在这不是一个问题,除非你支持iOS 3.1.3或更少...