卡飞资源网

专业编程技术资源共享平台

SSH端口转发 本地端口转发到服务器和服务器端口转发到本地

需求

有些时候我们有这样一些需求

1.阿里云的redis不能直接访问
2.测试回调代码的时候,只能通过服务器,没法本地调试


解决方案

1.通过安全组下的ECS服务器能通过内网访问redis,将ECS的6379端口转发的redis的6379端口,这样访问 redis-cli ECSip 6379 就能访问到redis服务器了

2.将回调请求发送到一台服务器,然后将服务器的请求通过端口映射转发到本地 localhost:8080,就可以在本地进行调试了

ssh通道端口转发

  • 将本地请求转发到服务上
ssh -L <local-port>:<local-host>:<remote-port> <ssh remote-server>
  1. local-port 本地监听的端口号
  2. local-host 服务器地址
  3. remote-port 服务器
  4. ssh remote-server ssh服务的信息,如 root@192.168.1.1

举个例子

ssh -L 88888:localhost:8080 root@47.99.12.666

就是本地访问 localhost:8080,而请求会转发到 47.99.12.666:88888
  • 将服务器请求转发到本地
ssh -L <remote-port>:<local-host>:<local-port> <ssh remote-server>

在执行命令之前,首先要修改服务器里sshd一个配置:

$ vim /etc/ssh/sshd_config

GatewayPorts yes

$ service sshd reload

举例比如

ssh -R 99999:localhost:8000 root@47.99.12.666

就是访问 http://47.99.12.666:99999, 请求会转发到 http://localhost:8000



想要看更多技术方面的文章,请关注,以后会慢慢更新!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言