在开发时可能会有这样的需求:

需要将自己开发的机器上的应用提供到公网上进行访问,但是并不想通过注册域名、搭建服务器等等一系列繁琐的操作来实现。

例如:微信公众号的开发调试就需要用到域名访问本机项目。 这时就可以通过将局域网映射到公网来实现,说得专业一点就是:内网穿透

下面将介绍通过natapp这个软件来实现,并且是免费使用。只需要注册一个账号,然后实名认证后就能使用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/poterliu/p/9512615.html

联系邮箱:poterliu@qq.com

联系微信:poterliu

1、注册natapp账号

到natapp官网注册一个账号,然后实名认证,因为涉及到项目的合法性,所以必须要求实名制,这个没毛病。

官网地址:https://natapp.cn/

到注册页面

链接:https://natapp.cn/register

注册步骤很简单,只需要填该填的信息就对了,要记住使用的手机号和密码,方便下次使用。

2、实名制

必须要实名才能使用natapp的穿透服务,账户信息的姓名后有 立即进行实名认证 的链接,点击开始实名认证。

账户信息链接:https://natapp.cn/member/dashborad

实名制链接:https://natapp.cn/member/realNameVerify

实名认证后的界面如下

3、 购买免费隧道

这里写的是购买,但是其实是免费的。

进入购买界面,点击 免费隧道。

链接:https://natapp.cn/tunnel/buy

再点击 免费购买

这样就算购买成功了,注意:每个用户可以免费获取两个不同隧道协议的隧道。 默认购买web协议的隧道。

4、配置 我的隧道

购买成功进入 我的隧道 页面。

链接:https://natapp.cn/tunnel/lists

页面上的重要信息有:

authtoken:开启natapp服务时用到的参数

隧道协议:该隧道使用的协议类型

点击配置按钮进入配置页面。

主要是修改需要映射的本地ip和端口号。

修改完记得保存。

5、下载natapp并启动natapp服务

natapp下载地址就是官网:https://natapp.cn/#download

如图

然后通过控制台来启动natapp服务,先通过控制台进入到下载natapp软件的位置,确保执行命令的目录下存在natapp.exe

执行启动命令:

natapp -authtoken=authtoken

其中的authtoken是第4步中,我的隧道页面中完整的authtoken。

效果图

上图中红框中的链接就是一个公网链接,将我本地的80端口的服务映射到公网,别人也可以通过这个链接来访问你的项目。

注意:

每次关闭natapp后,再次启动natapp后,这个链接就会重新生成。也就是每个账号下每个隧道对应的公网链接并不是固定不变的,请注意。

最终效果图:

为了演示最终效果,我在关闭上面的控制台后又重新启动natapp服务,可以明显的发现natapp提供的链接变化了。

Tips:

可以同时启动多个natapp,我做了实验,同时启动4个,全部都能正常访问,可以说非常良心了,给natapp提供商点个赞^_^。

更多工具参考:

https://www.v2ex.com/t/268495

https://jiangyongkang.gitee.io/2017/09/14/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%B7%A5%E5%85%B7-ngrok/

全文完

:)

局域网映射到公网-natapp实现的更多相关文章

  1. 微信公众号开发之内网映射外网natapp安装(一)

    一,为什么使用natapp 1,在进行微信公众号开发时,我们需要搭建网站,并且随时都有可能修改网站内容进行调试.如果能够将内网ip映射到外网上,将大大方便我们的调试.每次发布只需eclipse运行应用 ...

  2. 将本地web服务映射到公网访问

    本文始发于我的个人博客,如需转载请注明出处. 为了更好的阅读体验,可以直接进去我的个人博客看. 项目部署 之前在学习前端的时候项目都只是在本地测试,永远的都是类似 http://localhost/x ...

  3. ngrok把本地主机映射到公网域名

    这两天又要搞微信项目,然后我下载了一个QQ浏览器,搜索微信调试工具,我再搜,再搜,搜不出来,问了下客服,暂时下架了,好吧! 我上网搜了一下,就找到了  ngrok 这个东西,它也可以把你本地主机映射到 ...

  4. 查看Linux服务器被映射的公网ip

    查看Linux服务器被映射的公网ip   现在云服务器非常流行,不仅企业甚至是个人都可能拥有自己的云服务器,但是目前的云服务器厂商提供的公网IP大都是映射而来,所以在Linux服务器上执行ifconf ...

  5. 内网映射到公网工具 --- ngrok

    ngrok可以将内网映射到公网上,这样就可以在公网上访问你的网络服务. 该工具通常在进行app开发和微信开发时比较有用,这样就可避免在公网服务器上单独部署项目,通过映射,直接连接本地服务即可进行开发. ...

  6. 使用内网映射工具Holer将本地的Web应用映射到公网上访问

    Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Su ...

  7. C#获取本机局域网ip和公网ip

    1.获取局域网ip IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];//获得当前IP地址 string ip=ipAd ...

  8. 使用Holer将本地端口映射到公网

    What is holer Holerexposes local servers behind NATs and firewalls to the public internet over secur ...

  9. 两个局域网(办公网-IDC)安全互通方案2:by GRE and linux server&深入理解GRE

    (0)gre的turnel的打通 1. 这个过程就是双方建立turnel的过程.           (1)局域网路由过程 1.主机A发送一个源为192.168.1.2,目的为10.1.1.2的包 ( ...

随机推荐

  1. 学习笔记之a,b=b,a+b与a=b,b=a+b的区别

       兔子序列中用到的常用的计算方法:a,b=b,a+b 当我们真正去运行的时候,会发现它与a=b,b=a+b是有区别的 实例代码如下: def YY(one): a,b,n=0,1,0 while( ...

  2. Ubuntu14.04 使用scp远程传输命令进行服务器文件互传

    1.将另一个服务器上的文件拷贝到本地 sudo scp host_name@host_ip:/home/aaa/bbb /ccc/ddd/bbb 上面命令的意思是将远程服务器/home/aaa/目录下 ...

  3. C#远程连接sqlserver时,尝试读取或写入受保护的内存

    管理员身份运行 cmd ->  输入 netsh winsock reset

  4. MVC 知识点总结

    [此篇文章收录于其他博客,作为笔记使用] 一·  MVC MVC设计模式->MVC框架(前端开发框架),asp.net(webform) aspx M:Model (模型,负责业务逻辑处理,比如 ...

  5. 发现了一个entity framework的BUG

    小弟学浅才疏可能是小题大做,但遇上了并且让我麻烦了一阵,就值得记下来 BUG的过程就是我在建立实体模型的时候 命名了一个叫system的实体模型 导致了所有生成类中 引用using system失败

  6. Tomcat一

    Tomcat是如何处理http请求的 Tomcat有什么用? Tomcat是一个应用服务器,也是一个Servlet容器,用来接收前端传过来的请求,并将请求传给Servlet,并将Servlet的响应返 ...

  7. swift 基础-4

    函数:完成特定任务的代码块,通过名字来表示函数做什么 func 函数名(形参:形参类型)->返回类型 command +option+0 隐藏右边的框 //定义函数 func sayHello( ...

  8. Canvas基本绘画学习

    学好Canvas,从简单开始.下面是一些Canvas入门最基本的实例分享: <!DOCTYPE html> <html> <head lang="en" ...

  9. 编写Servlet,验证用户登录,如果用户名与密码都为“admin”则验证通过,跳转欢迎页面,否则弹出提示信息“用户名或密码错误,请重新输入!”,点击“确定”后跳转至登录页面

    java代码:(Test1) package com.test; import java.io.IOException; import java.io.PrintWriter; import java ...

  10. iOS开发 - Protocol协议及委托代理(Delegate)

    因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替.Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法.也就是说,它只告诉你要做什么,但具体怎 ...