导航:首页 > 代理服务 > nginx如何代理tcp的连接

nginx如何代理tcp的连接

发布时间:2025-02-25 15:39:09

❶ Nginx Ingress TCP代理实现

一般使用ingress都是代理http流量,但是有些场景希望代理tcp流量,例如:不想占用过多的公网IP。

开源的ingress对tcp支持不是很好,主要原因在于 k8s的Ingress没有给tcp留下插入点 ,可以通过ingress定义 kubectl explain ingress.spec.rules 证实。

ingress http代理简单来说,暴露一个http服务,根据host和path转发用户请求到真正的svc(用户请求带有host)。tpc代理就是暴露一堆端口号,不同的端口对应不同的后端svc。

官网 暴露TCP服务 章节,介绍可以通过 --tcp-services-configmap 暴露tcp服务,具体怎么使用没有实践之前一直不是很理解。

通过chart安装包可以获取nginx-ingress-controller deployment启动配置。

deploy脚本示例

tcp的相关配置通过configmap存储,需要注意data属性,controller会解析它。

登陆controller的Pod,直接查看nginx.conf,在最后一行,可以看到nginx代理配置。直接通过 curl localhost:8080 ,可以正常访问服务。

nginx.conf示例

整体架构可以参考
https://blog.csdn.net/shida_csdn/article/details/84032019

NGINXController有个channel,所有更新事件通过watch传到这个channel;同时channel通过queue绑定NGINXController的syncIngress,用于处理变更事件。

有关watch的初始化在store.go中实现,当key的名称为tpcconfigmap时,会触发更新。
internal/ingress/controller/store/store.go

1)在tcp configmap手动新增配置,ingress contorller svc会不会动态改变?

更多文章见: http://huiwq1990.github.io/

❷ Nginx反向代理TCP协议【反代SSH端口】

当需要通过Nginx间接访问TCP协议的服务,如SSH,以实现端口转发时,一个常见的需求应运而生。

要实现这一目标,首先需要理解反向代理的工作原理。Nginx作为一款强大的网络服务器,能够将客户端的请求转发到后端服务器,即使后端服务器运行的是非HTTP协议,如TCP。这里,我们关注的是如何配置Nginx来代理SSH连接。

配置过程中,关键在于设置正确的代理规则。通常,需要在Nginx的配置文件中添加一个新的location块,指定监听的端口(如22822)以及目标服务器的地址和SSH端口(默认为22)。确保防火墙和Nginx服务器的权限设置允许这种通信。

在实施时,注意事项不可忽视。首先,要确保Nginx配置的正确性,避免语法错误。其次,检查目标SSH服务器的配置,确认它是否允许来自Nginx代理的连接。还要注意安全,可能需要使用SSL/TLS加密,以保护数据传输。

深入了解Nginx的proxy_pass指令和相关模块,如stream模块,可以帮助你更精确地管理TCP代理。同时,定期检查Nginx日志以发现和解决问题也是必不可少的。

一旦配置完成,SSH客户端只需连接到VPS的22822端口,即可成功地通过Nginx反向代理访问SSH服务。至此,反代任务已顺利完成,可以开始高效地使用了。

阅读全文

与nginx如何代理tcp的连接相关的资料

热点内容
永兴材料是做什么产品的 浏览:45
产品打标签怎么办 浏览:30
如何交易eth合约 浏览:285
电脑程序设置到底哪个是cf 浏览:213
股票交易中金叉什么意思 浏览:110
如何管理动态数据 浏览:438
为什么打开移动数据总是自动关闭 浏览:562
如何从两个表中筛选相同数据 浏览:952
银行卡没有设置交易密码怎么办 浏览:820
理财产品丢了怎么换卡 浏览:877
如何上传图片到微信相册小程序 浏览:499
银行消费贷款产品有哪些 浏览:243
大连钢材市场在什么地方 浏览:378
dic测量技术怎么样 浏览:967
增驾d照成功多久查询到信息 浏览:840
互联网交易想退出怎么办 浏览:158
明日之后交易之城为什么会失败 浏览:789
无锡活禽市场哪里有 浏览:66
瑞幸补贴市场怎么样 浏览:503
nginx如何代理tcp的连接 浏览:702