很早以前crypto/tls(TLS长连接库)和net/http的性能不敢恭维,因此我们都使用Nginx做反向代理,但是Go1.8将要来了,这种格局即将被打破了!我们最近尝试性的将Go1.8编译的服务暴漏到了外网,结果发现crypto/tls 和net/http都得到了极大的提升:稳定性、性能以及服务的可伸缩性!crypto/tls现在已经是2016年了,我们不可能再去裸奔在互联网了,因此基于TLS是必然的选择,所以我们需要crypto/tls这个库。好消息就是在1.8下,该库的性能得到了很大的提升,性能表现堪称十分优秀,而且安全性也非常出色。默认推荐的配置类似Mozilla标准,然而我们应该要设置PreferServerCipherSuits为true,这样可以使用更安全更快速的密文族;设置CurvePreferences避免未优化的Curve;选择CurveP256而不是CurveP384,因为后者可能会为每个客户端消耗将近1秒的cpu时间!!&tls.Config{
PreferServerCipherSuites: true,
// 仅仅使用拥有汇编实现的Curve
CurvePreferences: []tls.CurveID{
tls.CurveP256,
tls.X25519, // Go 1.8 only
},
}如果可以接受TLS兼容性上可
...
继续阅读
(21)