需求
有些时候我们有这样一些需求
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>
- local-port 本地监听的端口号
- local-host 服务器地址
- remote-port 服务器
- 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
想要看更多技术方面的文章,请关注,以后会慢慢更新!