前言
微信公众号的开发需要内网穿透, 没有这个就不能开发, 市面上的内网穿透产品要么是不稳定, 要么是收费. 所以利用自己的服务器就能免费实现内网穿透, 而且性能稳定, 何乐而不为呢?
原理
内网穿透的原理是外网请求到我们服务器, 我们服务器把请求转发到我们本地计算机. 整个流程非常清晰.
nginx有转发功能, ssh有隧道穿透功能, 加起来就能实现内网穿透.
实现步骤
1、nginx增加下面的配置文件, 该配置文件就是当外网请求服务器对应域名后, 转发到服务器的7000端口(www.hedaoshe.com)
server{
listen 80;
server_name 你的域名;
location /{
proxy_pass http://127.0.0.1:7000;
}
}
2、把sshd_config的配置文件中 GatewayPorts
修改为yes
. 该配置的意思是允许外网通过ssh链接到本机的转发端口.
3、以上都是在服务器的配置, 第三步就是使用本地计算机通过ssh链接到服务器的转发端口, 在本地计算机终端输入下面的链接命令, 该命令是说把本地计算机3000端口映射到远程服务器的7000端口
ssh -R 7000:localhost:3000 root@域名
总结
通过以上三个步骤就能实现免费稳定的内网穿透, 整个流程我们再梳理下, 首先外网访问我们服务器, 我们服务器把请求转发到服务器的7000端口, 服务器的7000端口和我们本地计算机的3000端口是相连通的, 于是外网请求就到了本地计算机3000端口, 接下来可以愉快的开发了...