最近开发过程中又遇到了需要外网访问内部服务接口的需求,比如调用三方服务的各种回调通知、支付成功回调、大模型回调等都需要外部服务器来访问内部的接口,这里有个问题就是如果我们在本地或者测试环境调试的过程中我们使用的是内网环境,那外网是访问不到我们的接口的,那如何解决这个问题呢?
答案就是使用内网穿透,我们先来看看内网穿透有什么优点和他的使用场景,然后我会通过一个完整的java示例来教同学们怎么使用
- 远程访问与测试:
在没有内网穿透的情况下,测试人员或外部合作伙伴可能无法直接访问位于内网中的测试环境。内网穿透技术允许他们通过公共互联网访问这些内部资源,从而进行远程测试。
无论是功能测试、性能测试还是安全测试,远程访问都使得测试过程更加灵活和高效。 - 模拟真实环境:
通过内网穿透,测试人员可以模拟真实的外网访问环境,以验证服务在公开网络中的表现和安全性。
这种模拟有助于发现可能因网络配置、防火墙规则或NAT转换等问题导致的潜在问题。 - 团队协作与沟通:
当多个团队或部门需要协作时,内网穿透可以确保所有人都能访问到相同的测试环境。
这有助于减少因环境不一致导致的误解和错误,提高团队协作效率。 - 灵活性与可配置性:
内网穿透解决方案通常提供高度的灵活性和可配置性,允许用户根据需求调整访问权限、端口映射和流量路由。
这使得测试人员能够根据需要快速调整测试环境,以适应不同的测试场景和需求。 - 简化部署与管理:
在没有内网穿透的情况下,为外部用户提供访问权限可能需要复杂的网络配置和管理工作。
内网穿透技术简化了这些过程,使得部署和管理变得更加简单和高效。 - 安全性增强:
虽然内网穿透允许外部访问内部资源,但它也可以结合安全措施(如VPN、SSL/TLS加密、访问控制列表等)来增强安全性。
通过限制访问权限、加密通信和监控流量,可以确保只有授权用户才能访问内部资源,并降低潜在的安全风险。 - 支持多种协议:
内网穿透解决方案通常支持多种协议(如HTTP、HTTPS、TCP、UDP等),使得不同类型的服务都能被外部访问。
这为测试人员提供了更大的灵活性,使得他们可以测试各种类型的服务和应用。
如何使用内网穿透
国内常用的工具有:内网穿透,会找到花生壳、ngrok、FRP、Lanproxy-go-client (这是个开源免费的)
本篇使用的是natapp工具
本篇的主角:natapp 官网
注册账号
注册成功之后登录你的账号
点击免费隧道,进行配置
配置完成后,可以看到authtoken 这个客户端需要用到!!
下载客户端
本机是windows直接下载
命令行启动 natapp -authtoken=你的token
这样就把forwarding copy出来访问下会转发到本地9091端口上
观察隧道,记录了这次请求
添加GZ获取更多用例!!_ 欢迎同学