使用 Java / Node.js / Go 等语言开发的 Web 服务通常会使用 Nginx 作为反向代理服务来实现负载均衡等功能,此时的 Web 服务相对于 Nginx 来说就是上游服务(upstream)。
一般在优化 Web 服务的性能时都会聚焦在 Web 服务本身,而容易忽视 Nginx 和上游服务之间的连接。Nginx 有很多带 proxy 前缀的指令,通常在配置反向代理时往往以为配置一个 proxy_pass
就完事了,但是在追求 Web 服务的极致性能时还有一些反向代理的配置能起到事半功倍的效果。本文将简单介绍 Nginx 作为反向代理时选择 HTTP 协议的版本。