The problem here was that the iPhone does not support server name identification (SNI), which is required to perform heroku SNI SSL. (EDIT) It is now supported by iOS 3.2 onwards.
You can confirm the SNI by going to the following URL from Safari by phone:
https://sni.velox.ch
I realized that I can set the following SSL options in the iphone client:
kCFStreamSSLPeerName = Null
... and this fixes the problem. But I still do not understand how this affects security - the documents are not very clear.
As I understand it, when setting up a custom domain on a cloud node, such as heroku, it points to a proxy server, and this name does not match the host name of the certificate. Browsers such as Safari and IE support SNI and know how to figure it out, but the phone does not.
As I said above, now this is not a problem if you do not support iOS 3.1.3 or less ...
cmaughan
source share