I bought a wildcard SSL from RapidSSL. It has been working great on my AWS load balancer, but recently, I noticed that the same certificate was not working on our test server which is not on the load balancer when one of our old 2nd generation test iPhones accesses it. This led me to run RapidSSLs certificate checker against our test server. It claimed that the server was returning a self signed certificate which was very puzzling. I checked with another one of RapidSSL's online checkers and got more detailed results showing the self signed certificate.
The strange thing is that when you go to the website on the test server on any modern browser, you get the correct certificate and the correct CA certificate as well. I even found another SSL checker on the internet which said everything was fine. I have check, double checked and tripple checked my http.conf file
NameVirtualHost *:443
<VirtualHost *:443>
ServerName test.MYDOMAIN.com
DocumentRoot /var/www/html/
SSLEngine on
SSLProtocol all
SSLCACertificateFile /usr/local/ssl/crt/cmint.crt
SSLCertificateFile /usr/local/ssl/crt/cm.crt
SSLCertificateKeyFile /usr/local/ssl/crt/cm.key
</VirtualHost>
Everything works fine and I don't expect the issue is anything with the cert files. Just somewhere in my or Amazon's configuration, I am getting this self-signed cert served to old devices when they access an instance which is not using the load balancer.