2022年7月20日 星期三

nginx ssh proxy

 主要是要會用 nginx stream module

------------------------------------------------------------

https://blog.csdn.net/carefree2005/article/details/121229818

一、stream模块简介

  stream模块一般用于TCP/UDP数据流的代理和负载均衡,通过stream模块我们可以代理转发tcp报文。ngx_stream_core_module模块从1.9.0版开始提供。默认情况下,此模块不是构建的,应该使用–with stream配置参数启用它,即我们需要使用./configure --with-stream的方式在编译的时候将stream模块添加进去。stream模块用法和http模块差不多,语法也基本相同。


二、使用场景说明

  stream主要有两个可用场景。一是实现流量的代理转发,这里所说的代理转发是只某些端口服务是有源IP地址限制的,例如mysql账户一般是限制了源地址为应用服务器,nginx可能同时是WEB应用服务器,开发人员需要验证一些数据库数据问题,但是账户源地址有限制,此时通过nginx进行数据流转发就可以实现开发终端到mysql的访问。二是实现流量的负载均衡,我们有多个tcp或者udp端口服务(比如DNS),通过stream模块我们可以实现数据流的负载均衡,支持负载均衡算法包括轮询、最小连接数、ip_hash等。

------------------------------------------------------------


# stream module install

https://alpine.pkgs.org/3.16/alpine-main-aarch64/nginx-mod-stream-1.22.0-r1.apk.html


# stream moduele

--ref: https://www.reddit.com/r/selfhosted/comments/eqvi05/reverse_proxy_ssh_connection_with_nginx/


stream { upstream ssh { server localhost:22; } server { listen 80; proxy_pass ssh; } }

----------
https://blog.csdn.net/C3399/article/details/124469967



# ssh tunnel

https://johnliu55.tw/ssh-tunnel.html

https://xenby.com/b/269-%E6%95%99%E5%AD%B8-%E9%80%8F%E9%81%8E-ssh-tunnel-%E5%B0%87%E4%BC%BA%E6%9C%8D%E5%99%A8%E5%85%A7%E9%83%A8%E6%9C%8D%E5%8B%99%E7%B6%81%E5%AE%9A%E5%88%B0%E6%9C%AC%E6%A9%9F%E9%9B%BB%E8%85%A6%E4%B8%8A


# ref
https://iter01.com/68023.html

沒有留言:

張貼留言