ngrok内网穿透使用总结

591 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情

今天在学习尚硅谷的一个项目时,需要使用公众号。其中有一个功能是需要让微信服务器访问到localhost的,问题在于无法让微信服务器访问到localhost,微信服务器访问的应该是带有域名的地址。那么怎么解决这个问题呢?毕竟项目都还在本地不会有域名这东西。解决的办法是用内网穿透

什么是内网穿透?内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机(这是百科的答案)。如果看不懂的话,各位同学可以看下图:

image.png 我来解释下上面的图片。微信服务器访问我们本地的服务器(其实就是你开发的项目所在的电脑),但是访问不了,因为微信服务器访问的地址应该是域名而不是localhost:8083之类的地址。于是我们可以借助一些工具,让localhost:8083对应这一个域名,然后让微信服务器访问这个域名,也就访问到了localhost:8083,这就是内网穿透

1.问题引入

image.png 你现在点击提交是没用的。我发现上图的url我填错了,我实际穿透的网址是wzj.free.idcfengye.com/api/wechat/…

这是我部分项目代码,大家关注上面的@RequestMapping即可。

@RestController
@RequestMapping("/api/wechat/message")
public class MessageController {

2.ngrok使用

大家可以看到上面微信服务器是访问不到我们本地项目的。现在来配置下ngrok。

2.1 注册用户

登录到ngrok官网镜像注册登录。

image.png

2.2 实名认证

这个步骤是需要花钱的。我花了2块钱,认证日期是2022.8.30也就是今天,哈哈哈。以后价格是否变动我就不清楚了,在这里可以给大家一个参考。

image.png

2.3 开通隧道

选择隧道管理 -> 开通隧道。最后一个服务器是免费的,只是经常掉线。如果条件允许,建议买个10元/月的。

image.png 点击立即购买 -> 输入相关信息

image.png

查看隧道

image.png

2.4 下载客户端

下载客户端

image.png

然后启动客户端,输入隧道id即可

image.png

image.png

3实验结果

我点击提交,微信服务器能够访问到我本地的项目,配置成功。上面的图 image.png

4.总结

兄弟们,这里很重要的一点是你隧道里面的网址,要和你实际需要穿透的网址一致。