NGINX 做TCP转发(端口转发)并记录日志

nginx安装 略 (注意:必须加上--with-stream这个模块)

修改nginx.conf:

复制代码
user  www www;
worker_processes  4; 
pid        logs/nginx.pid;
 
events {
    #use epoll;                            #Linux最常用支持大并发的事件触发机制
    worker_connections  65535;
}
 
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"';
 
    access_log logs/access_8000.log proxy ;
    open_log_file_cache off;
    
    upstream zifangsky {
        #hash $remote_addr consistent;
        server 10.10.100.31:8000 weight=5 max_fails=1 fail_timeout=20s;
    }
 
    server {
        listen 8000;
        proxy_connect_timeout 10s;
        proxy_timeout 10s;
        proxy_pass zifangsky;
    tcp_nodelay on;
    }
}
复制代码

在上面的配置文件中配置了在访问此服务器的8080端口时,会将流量相应转发到10.10.100.31这个服务器的8000端口上。另外,测试发现只有当一个会话结束之后nginx才会将相关日志记录到指定的日志文件中

posted @   fat_girl_spring  阅读(5410)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示