While writing [an answer](https://serverfault.com/a/618494/70024) to [this question](https://serverfault.com/questions/618423/ec2-mysql-security) on Server Fault, a thought that has been bouncing around my head for quite some time resurfaced again as a question: Is there ever a good reason to _not_ use TLS/SSL? To further elucidate the question, I'm asking about the specific case in which things have been configured properly: 1. Performance: * [Time to First Byte](https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/) has been optimized. * The cipher list is small enough to avoid multiple roundtrips from server to client. * For mobile web applications, 2048 bit RSA server keys have been used as opposed to 4096 bit keys to lessen the computational load on clients. * SSL sessions have a reasonable lifetime to avoid regeneration of session keys. 1. Security: * [Perfect Forward Secrecy](https://en.wikipedia.org/wiki/Forward_secrecy) * [Hardened Cipher List](https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/) * Don't use obsolete and insecure protocols like SSLv2 and SSLv3 (if possible; not using SSLv3 means that IE 6 can't access your site). If done properly, is there ever a good reason to *not* use TLS/SSL for TCP communications?