专栏首页Haytham的原创技术文章SSH Tunnel (端口转发) -- 把个人PC变成“幕后boss”
原创

SSH Tunnel (端口转发) -- 把个人PC变成“幕后boss”

指路牌

  • SSH Tunnel
  • 端口转发网上有帖子提到SSH Tunnel与端口转发是不同的,这里我没有深入研究两个名词的具体区别,从结果上来说,我是被SSH Tunnel这个名词引到这个知识点的,但实现的效果很像“端口转发”,姑且都写上吧。

适用场景

希望在自己电脑本地启动服务,让Internet发向服务器的请求转向自己的电脑,从而使调试更便利。

该debug模式只有特殊情境:如强制需要固定IP等才会用到,并不具有普遍性。 网上大多教程是将端口映射到局域网内某设备上,应该都出出自运维向从业者的,作为开发者本blog简化场景就是将服务器的端口映射到自己电脑上。

环境

  • Linux、windows、Mac均可

参考博客

  • 不知何原因,参考博客被和谐了...

背景

最近由于工作原因,接手了一个与微信公众号相关的项目。项目部署起来后发现功能不能完全跑通,因此需要打断点检查问题到底出在了什么地方。由于开发涉及微信公众平台,其要求将ip加到白名单内,因此需要“固定IP”,又由于项目部分模块需要使用https,在搭建https比本地要便捷。以上两条原因让我选择使用端口映射。

实现

ssh -p22 -i NAME.pem -N -R 0.0.0.0:8080:127.0.0.1:8080 USER@IP

嗯,就是这么简单,一条指令就可以了......... NAME.pem: pem文件,记得将执行路径索引到pem文件下,或者写成pem的绝对路径。如果使用帐号密码登录的话,去掉-i NAME.pem, 命令输入后会要求输入密码,效果相同 USER: 登录服务器用户名,如:root IP: 服务器的公网IP地址

备注

  • 一般博客都会讲到 -L -D,但是由于在我的场景中,不会使用到这两种模式,这里不做介绍了。
  • 要从微信服务器拿取token,实际上并不一定非要使用具有固定IP的服务器,实际上将个人电脑的临时IP加入到微信IP白名单同样可以拿取到token,但弊端是动态IP会变化,因此需要在IP变动时进行替换,比较麻烦。

后记

在使用端口映射时我就冒出过另外一个问题,端口映射能够将服务器的某个端口接收到的服务都映射到本地电脑,但如何控制本地电脑所有发出的请求也走服务器昵?我们都知道本地发起网络请求时,发起请求的端口是不完全可控的。因此即使使用了端口映射,无非是实现了一个代理人将听到的话讲述给我,但我还是要和外来者直接对话的局面,如下图。如果我想当一个“幕后boss”,完全经由代理人来完成转化呢?

我们唯一需要做的就是让个人电脑发起的所有请求都经过具有固定ip的云服务器来完成,推荐工具比如“TinyProxy”,但由于某些原因,此处不介绍了,有兴趣的读者可以自行查阅文档实现。

当端口映射和TinyProxy均搭建起来后,ECS将变成我们PC在Internet的代言人,就是实现了下图所示的效果。自己也就变成“幕后boss”了。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 再遇CORS -- 自定义HTTP header的导致跨域

    出于多种考虑,放弃了使用类似WordPress这种现成博客解决方案,准备自己搭建一个博客系统,技术选型为:后端:Flask,前端:Vue。登录状态管理放弃coo...

    HaythamXu
  • 《Flask Web开发 基于Python的Web应用开发实战》简评

    《Flask Web开发 基于Python的Web应用开发实战》,O'Reilly"动物书系列"的"狗书",应该是很多Flask初学者被推荐使用的入门书,但是这...

    HaythamXu
  • Markdown库研究 && 前端MD模块推荐 -- Mavon-Editor

    很早以前就想自己搭建一个博客系统,本以为最麻烦的应该是用户管理,后来发现最麻烦的居然是文本编辑器...我自己是不太喜欢富文本编辑器的,平时都是印象笔记写文章,m...

    HaythamXu
  • 随心而绘,春暖花开的童趣乐园 - 腾讯ISUX

    腾讯ISUX
  • 技术解读服装设计师的用色风格

    关于颜色,有许多的应用场景,颜色数据的获取比起文本数据的获取更加简单,因为从1张图片可以提取大量的颜色数据,基于大量的数据,结合各种算法,可以应用在智能配色、色...

    mixlab
  • MIT最新AI医疗系统公布:“重症监护室干预”和“EHR 模型迁移”

    对于一名医生而言,跟踪病人的检查结果、各项指标,其实是一件非常耗时的工作,但又是不得不做的工作:大家可以设想一下,一名医生每天要面临多位病人,而且还要把每位病人...

    AiTechYun
  • CSDN蒋涛:DCO - 区块链时代企业级服务的全新机会。

    区块链大本营
  • TCP/IP协议

    吴老师
  • 大型系统演进之路-负载均衡演进

    通过Nginx的反向代理将请求分发到tomcat中,如果tomcat支持100并发,Nginx支持50000并发,理论上nginx把请求发送到500个tomca...

    春哥大魔王
  • 使用Rclone访问腾讯云COS教程

    Rclone可以方便的在两个不同存储之间同步文件,源和目的包括本地存储、Amazon S3、Tencentyun COS、Alibaba OSS、Ceph、Go...

    用户2661452

扫码关注云+社区

领取腾讯云代金券