1 min read

SSH 远程端口转发

我在开发 Telegram bot 时,是先在本地写好代码,上传到服务器再测试的。因为 telegram 的 setWebhook 指定的网址是线上的。这一点,与微信公众号开发时的接入服务器配置是一样的。

当然,这样谈不上什么开发效率。

网上有些端口映射的工具,比如 ngrok,但 SSH 本身就带了这样一个工具。

假设我 telegram webhook 地址是 https://www.zfanw.com/telegram,服务器运行在 3344 端口,本地的开发环境运行在 localhost:3344 地址上,则运行如下命令:

ssh -R 3344:localhost:3344 admin@zfanw.com

就可以完成远程端口转发到本地。这样,telegram 往 https://www.zfanw.com/telegram 地址 POST 的数据都会被转发到我本地上的 localhost:3344。

等等,要怎么断掉转发?首先,SSH 连接并不稳定,很容易就断掉。如果万幸不掉,则输入

exit

回车即可退出。

当然,我们也可以按 CTRL - C 强制退出。

报告问题 修订