nginx tcp代理并限制ip访问
Nginx 从1.9.0开始发布ngx_stream_core_module模块,该模块支持tcp代理及负载均衡。
本文记录一下用nginx实现zk的代理并限制指定ip可以访问
配置文件
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; #geo $remote_addr $geo { # default 1; # include conf.d/whitelist.conf; #} include /etc/nginx/conf.d/*.conf; } stream{
#log
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 /var/log/nginx/tcp_access.log proxy;
#allow 127.0.0.1; #deny all; #也可以写在文件里,用include导入 include tcpconf.d/whitelist.conf;
#server配置也可以放在配置文件里
# 统一放置,方便管理 include tcpConf/*.conf;
upstream zk{ hash $remote_addr consistent; server 127.0.0.1:2181 max_fails=3 fail_timeout=10s; } server{ listen 8182; proxy_connect_timeout 20s; proxy_timeout 5m; proxy_pass zk; } }
less conf.d/whitelist.conf allow 127.0.0.1; deny all;
less tcpconf/tcp.conf upstream zk{ hash $remote_addr consistent; server 127.0.0.1:2181 max_fails=3 fail_timeout=10s; } server{ listen 8182; proxy_connect_timeout 20s; proxy_timeout 5m; proxy_pass zk; } tcpconf/tcp.conf (END)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)