如何使用natapp来实现内网穿透及案例

1. 业务场景

  • 当我们的项目是部署在本地的时候,如何让其他用户(不在同一个局域网之下)来进行调用呢?这时我们就可以使用内网穿透将自己的IP通过映射成相应的地址,然后再通过映射后的地址来进行访问本地的项目。

2. 什么是内网穿透?

  • 内网穿透:就是将自己的内网IP暴露到公网环境中,也可以说是将自己的电脑放在公网之中。

3. 如何使用内网穿透?

  • 3.1 下载natapp应用程序(选择自己的版本Mac、Windows)

  • 3.2 到//natapp.cn/进行注册登录,得到自己的authtoken

  • 3.3 可以到//natapp.cn/article/natapp_newbie去查看图文教程

  • 注意事项
    在用Mac运行时可能会遇到无权限问题。

  • 3.4.把之前的应用程序下载解压至任意目录下,得到natapp如何运行natapp。

    • window下,直接双击natapp.exe 即可.
    • 在Linux/Mac 下 需要先给执行权限
      • chmod a+x natapp
      • 然后再运行即可
      • ./natapp

4. 实际案例

  • 这儿先提供一个springboot-demo.jar(也就是SpringBoot打的jar包),能够提供本地服务。

  • 启动服务:运行jar包,使用命令:java -jar springboot-demo.jar 或者写一个bat文件,里面包含java -jar springboot-demo.jar命令,这样就可以直接双击bat文件启动应用。

  • 示例:这儿创建的是springboot-server.bat文件
    在这里插入图片描述
    双击运行即可,如下:在这里插入图片描述

  • 主要用到如下截图中的接口地址进行测试,默认端口8080。

  • 本地服务地址: //localhost:8080/hello
    在这里插入图片描述
    运行结果如下:
    在这里插入图片描述
    在3.3步骤操作完成之后,应该会得到一个authtoken如下:
    在这里插入图片描述
    接着,把得到的authtoken值配置到config.ini文件中去,如下:
    在这里插入图片描述
    切记:config.ininatapp.exe要在同级目录下
    在这里插入图片描述
    双击natapp运行,启动之后如下:
    在这里插入图片描述
    这里的//j8rjma.natappfree.cc地址就相当于//localhost:8080//j8rjma.natappfree.cc这个地址被映射到了//localhost:8080上。此时,只要有外网的地方访问//j8rjma.natappfree.cc/hello就能访问到本机服务。
    测试结果:
    在这里插入图片描述