Nginx可以支持以下反向代理协议:
- HTTP:最常用的反向代理协议,Nginx可以通过HTTP代理将请求转发到后端HTTP服务器。
- FastCGI:Nginx通过FastCGI协议可以将请求转发到FastCGI服务器(如PHP-FPM)。
- uWSGI:Nginx可以通过uWSGI协议将请求转发到uWSGI服务器。
- SCGI:Nginx可以通过SCGI协议将请求转发到SCGI服务器。
- Memcached:Nginx可以通过Memcached协议读取Memcached服务器上的缓存数据。
- Proxy Cache:Nginx实现了自己的代理缓存协议,可以读取本地磁盘缓存数据。
除此之外,Nginx还支持其他协议,如:
- GRPC:高性能RPC框架的代理协议。
- MySQL/PostgreSQL:数据库代理协议。
- FastDFS:文件存储系统的代理协议。
以上协议中,HTTP是最常见的反向代理协议。Nginx通过监听代理端口,接收客户端请求,然后将请求按照代理协议转发到后端服务器,收到后端响应后再返回给客户端。
使用反向代理协议可以实现:
- 负载均衡:通过多个后端服务器提供服务。
- 缓存:使用本地缓存或Memcached缓存,减轻后端压力。
- SSL处理:在代理层进行SSL加密,内网使用HTTP。
- 访问控制:在代理层进行访问检查与过滤。
- 服务聚合:将多个服务聚合在一起对外提供服务。