使用ngrox进行内网穿透(window版)
一、概念
先说什么是内网穿透
我们在日常开发或者利用互联网进行通信的时候,往往不是直接使用真实ip去进行网络通信,而是借助“NAT”技术使用内网的虚拟ip间接与外部进行通信,但是网络地址转换(Network Address Translation,NAT)机制的问题在于,NAT设备自动屏蔽了非内网主机主动发起的连接,也就是说,从外网发往内网的数据包将被NAT设备丢弃,这使得位于不同NAT设备之后的主机之间无法直接交换信息。这一方面保护了内网主机免于来自外部网络的攻击,另一方面也为P2P通信带来了一定困难。
内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。
二、使用ngrox进行内网穿透
1. 进入ngrox官网 https://ngrok.com
2. 点击右上角的Login进行登录,可以使用GitHub账号登录
3. 根据自己的系统下载ngrox,window默认下载64位版本
4. 下载完毕后进行解压,随后通过cmd命令进入到文件的目录下
window系统执行如下命令
ngrok authtoken 你的token
5. 使用idea快速创建一个spring web项目
controller代码如下:
package com.xiaoming.ngrox.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class NgroxController {
@RequestMapping("/hello")
public String Hello(){
return "Hello Ngrox~";
}
}
启动后,本地浏览器输入localhost:8989/hello 即可访问
(这里的话自己设置了端口为8989,一般默认是8080)
6. 使用ngrox暴露本地的8989端口
ngrox http 8989