背景:因为微信公众平台支持的后台服务器只允许为80端口,而本地服务器开发程序与在VPS上部署程序运行,每次无论是使用scp还是ftp进行文件传输无疑是低效的,因此需要一种方法可以方便的在本地服务器调试微信公众平台。有的使用,ngrok,此方法是通过ssh反向代理达到目的。
1.在本地服务器通过命令:ssh –fNR 8181:localhost:80 user@host.com –p 22 –g达到反向代理目的,使得本地服务器的80端口与host主机的8181端口建立反向隧道,为什么不直接与host的80端口建立反向隧道?因为直接80--80,外部ip就是不能访问host的80端口,只有127.0.0.1可以试着修改sshd_config里面的GatewayPorts yes都不行。因此先建立本地的80到host的8181隧道。
其中-f为后台运行,-N为不执行命令只建立隧道,-R为建立反向代理。
2.在host服务器上通过命令:ssh –gL 80:localhost:8181 user@host.com –p 22 达到建立正向代理的目的,将host的80端口转发到8181端口,从而可以将数据从8181端口再转发到本地的80端口。
其中-L为建立正向代理。