We have a HTTP client which sends and receives message from 3rd party web services. One of our 3rd party web services produced handshake alert: unrecognized_name error. To fix this issue, we set SNI to false. For example:
System.setProperty("jsse.enableSNIExtension", "false");
Everything is working fine.
Recently, a brand new 3rd party service has returned 503 error. we have investigated the issue and set SNI to true. For example:
System.setProperty("jsse.enableSNIExtension", "true");
Now, that particular 3rd party service returns successful response.
We were thinking that if SNI is false then it is good to go but not in this case. We were confused. Why in this particular case, we have to set SNI to true?