1.内网穿透
内网穿透原理是映射端口, 能让外网的电脑找到处于内网的电脑; 简单说就是局域网的服务外网访问不到,通过内网穿透技术来实现外网到内网的端口映射, 进行实现外网访问内网服务.也就是说你在本机做的程序或者软件,可以不对外发布上去就直接让外网的人申请和测试
市场上流行的支持内网穿透的工具包括 Ngrok, Natapp, 小米球, Sunny-Ngrok, echosite, autossh, Lanproxy, Spike, Frp 等;在这里推荐使用Ngrok, 大多工具其实是基于Ngrok 进行二次开发的;这里介绍下花生壳的内网穿透功能.
贝锐 花生壳官网: 贝锐官网|花生壳官网|DNS内网穿透|域名注册|向日葵远程控制|远程桌面|蒲公英路由器-贝锐官网, 内网穿透只是他支持的其中一个业务, 本身支持功能特别多
功能特别多对于远程操控以及映射方面
完成注册之后,
点击新增映射, 按照提示编辑配置域名端口等信息, 保存即可; 其中内网主机就是本机IP , 打开命令行窗口, CMD 输入ifconfig /all 即可查看, 根据本机是无线还是以太网找到本机IPv4 地址即可, 如图3-13 所示; 内网主机端口要看你的本机服务是什么端口了;
进去之后就可以做申请你的域名一般都直接用随机分配的就可以了。
2.测试
本地创建一个SpringBoot 项目, 配置端口为8080; 运行项目, 通过本地访问localhost:8080 或192.168.80.56:8080, 都能直接访问方法 getProjectName() 获取到scancodelogin ;
开启上面配置的内网穿透服务, 本机花生壳 beta 登录状态; 访问域名即可映射到192.168.80.56:8080, 同样能请求本机服务;
项目测试接口:
@RestController
public class ScanCodeLoginController {
@GetMapping(value = "/")
public String getProjectName() {
return "scancodelogin";
}
}
3.配置应用
在resources中做一个yml的配置
注意:配置代码的前面的空格不对会导致配置的路径或者地址不对等等一系列的问题
server:
port: 8080
servlet:
context-path: /api
spring:
datasource:
username: root#数据库的账号
password: 123123#数据库的密码
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=UTF-8&useUnicode=true
driver-class-name: com.mysql.jdbc.Driver
# web:
# resources:
# static-locations: classpath:/static/
servlet:
multipart:
max-file-size: 5MB
max-request-size: 20MB#传输闲置 无所谓
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
myproxy:
domainName: http://495838vz51.zicp#给的地址
4.运行结果
5.与之配套的网络接口测试工具
https://console.apipost.cn/login 微信扫码登录就好
如上图请求 可以测试接口 是否能正常使用给一个 可以选择post get等方法 可以给传参等等 操作 灰常好用。
工具使用界面如下图: