SSL "Peer Not Authenticated" error with HttpClient 4.1
===

I am building a simple app monitor to poll one of our API URLs and email us if it can't get a HTTP 200 status code from the response (this would indicate our API is down for some reason).

I am using HttpClient **4.1** (this is important because its API differs *greatly* from 3.x).

Our API is secure with SSL, however entering:

> http://example.com/our-api

into a web browser redirects you to

> https://example.com/our-api

Without causing any errors.

When HttpClient attempts to hit this URL (`http://example.com/our-api`), it fails with a `javax.net.ssl.SSLPeerUnverifiedException` exception with a message stating:

> peer not authenticated

I see this happening a lot for other people as is evidenced by [this](http://stackoverflow.com/questions/2308774/httpget-with-https-sslpeerunverifiedexception) post (which also provides some ways of circumventing this problem - a solution that I am going to try and implement tonight in fact).

What this other post (and the other similar ones to it) do not do is explain why this is happening in the first place! So, rather than ask "how do I fix this?" I figured I would ask "**why is this happening?**" Before I go barging ahead with one of the proposed solutions, I'd like to know what the problem is that I'm attempting to fix ;-)

Thanks in advance!