首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

使用putty 经过公网服务器代理访问本地服务

2013-12-05 
使用putty 通过公网服务器代理访问本地服务有时候需要调用公网服务进行调试时,公网服务接口需要回调本地服

使用putty 通过公网服务器代理访问本地服务

有时候需要调用公网服务进行调试时,公网服务接口需要回调本地服务。如一个公网上一个付费接口,接口那边需要主动通知客户这边缴费状态,而开发都在本地内网环境,一般情况外部接口服务无法调用到本地内网,那么如果我们有一台公网的具有固定ip的服务器,那么就可以解决了。

前提是:具有一台有固定公网ip的服务器(linux),本地内网客户可以通过ssh 连接到该服务器,并且得是root账号。

我这的测试例子是:公网服务器 linux ,本地开发机器windows7,。

步骤如下:

1 安装打开putty ,填写好服务器ip :


使用putty 经过公网服务器代理访问本地服务

2 然后展开 ssh > Tunnels ,输入 source port 为 3000 ,Destination 为 127.0.0.1:8080 ,并且勾选Remote,然后 Add。


使用putty 经过公网服务器代理访问本地服务
?
使用putty 经过公网服务器代理访问本地服务
?

然后点击Open 连接,输入账号和密码。

此时可以发现服务器端已经监听了 3000 端口了。并可以使用 wget 127.0.0.1:3000/xxxx 访问你本机监听在 8080 的服务 xxxx 了。

但是还没完,因为需要让外部任意公网的机器访问,而非在服务器本机访问,如果直接使用 服务器ip 访问: http://115.28.16.179:3000/xxxx? ,是访问不到的,因为ssh的限制。

那么需要第三个步骤

3 使用putty 打开另一个 窗口连接到 服务器,此次的连接不要向上面那样开启 Tunnels ,就像平常一样连接linux 一样即可。

连接上后,(需root账号登陆)执行命令:ssh -g -L 3001:127.0.0.1:3000 127.0.0.1

然后回车输入root密码。

此步骤是在服务器本省监听3001 端口,并转发到 3000 。此次转发是本地,但是由于设置了 -g 参数,于是 3001 的监听服务可以被所有机器访问,而非限制为本机访问。

至此,你就可以叫一个远方的朋友 访问这个服务器的 3001 端口来访问你的本地内网的服务了。

?

热点排行