
12/26/2016 · Filippo Valsorda
What this post added
This post details how to expose Go services directly to the internet by optimizing `crypto/tls` and `net/http` configurations. It provides specific guidance on setting secure TLS cipher suites, curve preferences, and implementing crucial timeouts (`ReadTimeout`, `WriteTimeout`, `IdleTimeout`) to ensure stability and prevent resource exhaustion. It also covers HTTP/2 considerations and best practices for `ServeMux` usage and logging, marking a shift from relying solely on reverse proxies to directly exposing Go applications with enhanced security and performance.