以下是一个大略的示例配置,可以在nginx.conf文件中利用:
stream { # 监听端口 server { listen 80; # 启用代理协议 proxy_protocol on; # 转发要求到目标IP和端口 proxy_pass 192.168.1.100:80; }}
在这个示例配置中,我们利用stream块来配置TCP代理。我们定义了一个名为server的stream块,它将侦听80端口并启用代理协议。
proxy_protocol指令许可nginx吸收代理协议头,该协议头包含有关客户端IP地址的信息。这使得nginx可以将客户真个真实IP地址透传到后端做事器。

末了,我们利用proxy_pass指令将要求转发到目标IP地址和端口。在这个示例中,我们将要求转发到IP地址为192.168.1.100,端口为80的做事器。
须要把稳的是,这只是一个大略的示例配置,实际上您可能须要对配置进行变动以知足您的需求。您可能须要添加更多的server块以侦听多个端口或IP地址,并利用更繁芜的proxy_pass指令来转发要求到多个后端做事器。
以下是一个完全的TCP 4层代理配置的示例。请把稳,此配置假定您已经安装了nginx并且nginx二进制文件的路径为/usr/sbin/nginx。如果您的nginx安装位于不同的位置,请相应地变动路径。
worker_processes auto;error_log /var/log/nginx/error.log;events { worker_connections 1024;}stream { # 定义日志格式 log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; # 定义代理做事器 upstream backend { server 192.168.1.100:80; server 192.168.1.101:80; } # 定义TCP代理 server { listen 80; proxy_protocol on; proxy_pass backend; access_log /var/log/nginx/tcp_proxy.log proxy; }}
在这个示例配置中,我们定义了一个名为backend的upstream块,它包含两个后端做事器的IP地址和端口号。我们利用proxy_protocol指令启用代理协议,并将要求转发到名为backend的upstream块。
我们还定义了一个名为proxy的日志格式,并在server块中定义了一个名为access_log的指令来记录代理要求的日志。末了,我们利用listen指令指定监听端口。
请把稳,在这个示例中,我们将日志写入了不同的文件。如果您想将所有日志写入同一个文件,可以将所有日志格式定义在一个http块中,并在access_log指令中利用相同的日志格式。