何谓反向代理
一般来说,反向代理方式是指用代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外的表现就是一个 Web 服务器。
充当反向代理服务器也是 nginx 的一种常见用法,但一直以来,nginx 并不支持 TCP 协议,从1.90版本起,nginx 增加了 stream 模块用于一般的 TCP 代理和负载均衡。
TCP反向代理基本配置
新增的 ngx_stream_core_module 模块并不会默认安装,需要在编译时通过指定 –with-stream 参数来激活这个模块。
即编译安装nginx时,进入nginx-x.x.x目录后执行以下命令:
./configure --with-stream
make
make install
安装完毕后,只用对nginx.conf稍作简单的配置就可以实现TCP反向代理了。
官方配置示例如下:
worker_processes auto;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
stream {
# upstream 块
# upstream 块定义了一个上游服务器的集群&