SSH隧道

需求1:我们ServerA在内外,ClientB和ServerB不能直接访问它,ClientB可以访问公网的ServerB,我希望ClientB访问ServerB的8080端口相当于访问到ServerA的80端口。 
解释ssh参数:

-N:不执行何指令

-f:后台执行

-R:建立reverse tunnel 
ServerA上执行:

 
 
  1. ssh -C -f -N -g -R 8080:127.0.0.1:80 user@88.2.1.33
  2. # 外网端口:本地地址:本地端口 外网用户名@外网地址

需求2:ServerA希望把所有到自己80端口的数据包转发到ServerB的8080。 
ServerA上面执行:

 
 
  1. ssh -C -f -N -g -L 80:88.2.1.33:8080 user@88.2.1.33
  2. #本机端口:目标地址:目标端口 目标用户名@目标地址

需求3:我希望使用ServerB作为代理服务器访问其它服务器。 
ServerB上面执行:

 
 
  1. ssh -N -f -D 8000

然后就可以将127.0.0.1:8000作为sock代理


执行SSH隧道之后,要在外网服务器中配置Nginx反向代理指定端口的数据

 
 
  1. server {
  2. listen 80;
  3. server_name www.xxx.com;
  4. client_max_body_size 100m;
  5. location / {
  6. proxy_pass http://127.0.0.1:9090;
  7. proxy_set_header Host $host;
  8. proxy_set_header X-Real-IP $remote_addr;
  9. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  10. index index.html index.htm;
  11. }
  12. }

学习SSH之隧道应用 
https://yq.aliyun.com/articles/43268

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值