使用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
7. 通过生成的url我们就可以通过域名的方式来访问我们的项目啦
posted @ 2020-09-05 22:56  moutory  阅读(59)  评论(0编辑  收藏  举报  来源