在我们开发过程中有时候需要使用外网可以访问本地服务。那么怎么做呢?
本教程将详解给大家介绍怎么实现这个。
教程目标:
1:实现使用系统默认的域名进行外网访问
2:实现自定义域名(自己如果有域名的使用)进行外网访问
------------------------------------------------------------------------------------------
使用到软件:
ngrok.
官网:http://www.ngrok.cc/
注册地址:http://www.ngrok.cc/login
---------------------------------------------------教程开始--------------------------------------
1:现去注册一个账号。
2:在官网下载自己电脑对应的客户 
3:将下载到的进行解压 
4:ngrok.cfg配置文件内容
server_addr: ":4443"
auth_token: "" #授权token,在www.ngrok.cc平台注册账号获取
tunnels:
sunny:
subdomain: "sunny" #定义服务器分配域名前缀,跟平台上的要一样
proto:
http: 80 #映射端口,不加ip默认本机
https: 80
web:
subdomain: "web" #定义服务器分配域名前缀
proto:
http: 192.168.1.100:80 #映射端口,可以通过加ip为内网任意一台映射
https: 192.168.1.100:80
web1:
hostname: "www.sunnyos.com"
proto:
http: 80
web2:
hostname: "sunnyos.com"
proto:
http: 80
ssh:
remote_port: 50001 #服务器分配tcp转发端口,如果不填写此项则又服务器分配
proto:
tcp: 22 #映射本地的22端口
ssh1: #将由服务器分配端口
proto:
tcp: 21
. 修改配置文件
修改ngrok.cfg配置文件
参数说明:
auth_token:服务授权验证密钥
subdomain: 服务器分配域名前缀
proto:映射到局域网哪个ip和端口(http服务)
tcp:映射到局域网哪个ip和端口(tcp服务)
remote_port:远程端口做tcp转发的时候使用(在平台申请绑定的端口)
hostname:自定义域名,可以绑定自己的域名
auth_token获取:
到注册的网站进行登录,就可以查看到自己的token 
配置外网映射:
一:使用系统默认的
二:自定义域名访问
一:使用系统默认的域名进行映射
1:在域名列表中添加域名。
如上图中。我设置的是sunny12.
那么在对应的配置文件中怎么配置呢?
web:
subdomain: "sunny12" #定义服务器分配域名前缀
proto:
http: 10.118.15.144:8080 #映射端口,可以通过加ip为内网任意一台映射
在Windows下启动:
启动单个服务使用命令:
切换到文件目录下:
ngrok.exe -config ngrok.cfg start web
如果要启动多个中间使用空格分开
在浏览器中输入:
http:///apay/
注意:
/apay是你本地的项目名称。
二:自定义域名配置
先获取到ngrok.cc服务的实际地址:
先ping 出 的实际地址 
配置自己域名映射:
我的域名在万网上购买的。所以登录万网对域名进行解析:
同时在授权系统中添加对应的自定义域名:
修改完成之后,在ngrok.cfg配置文件中进行修改:
启动ngrok
启动成功:
在浏览器访问:
http:///apay/
注意:apay是自己项目名称

















