1.背景
最近在学习CICD,里面会有用到内网映射的使用场景。为了加深对内网映射实操的记忆。我实操了下基于.Net 8.0的内网映射,并支持互联网访问。本文主要介绍了在win11下安装路由侠,并将.net 8.0发布到win11,项目运行、路由侠配置内网外网映射等,最终实现.NET Web API 8.0支持本地和互联网访问。这个操作比较简单,好上手。内网映射,有开源工具和商业产品。比如路由侠和花生壳就是比较成熟的商业产品。开源工具比如有frp,它使用的前提是要有一台公网服务器。
2.部署WebAPI项目
2.1 .Net 8.0 WebAPI项目准备
2.2 新增LuYouXiaController
代码如下:
using Microsoft.AspNetCore.Mvc;namespace luyouxia.Controllers
{[ApiController][Route("[controller]/[action]")]public class LuYouXiaController : ControllerBase{private readonly ILogger<WeatherForecastController> _logger;public LuYouXiaController(ILogger<WeatherForecastController> logger){_logger = logger;}[HttpGet(Name = "GetLuYouXia")]public string GetLuYouXia(){return $"路由侠展示:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";}}
}
2.3 编译、发布
将项目编译,发布到publish文件夹
2.4 运行
找到2.3的publish文件夹,双击"luyouxia.exe"启动
从上图,我们看到项目的运行地址是:http://localhost:5000/LuYouXia/GetLuYouXia;
其实也是 127.0.0.1:5000/LuYouXia/GetLuYouXia; 为了方便映射。会用ip去访问。
3.部署路由侠
3.1 主界面
安装过程和账号注册,直接忽略。软件主界面 如下所示:
3.2 内网映射
打开 3.1 图的“内网映射”
添加映射
修改-内网地址
选中上面的记录,右键-复制地址,并将这个地址后面拼接上 /LuYouXia/GetLuYouXia
例子:laiger.w1.luyouxia.net/LuYouXia/GetLuYouXia
4.结束
至此,就已经操作完成。成功的将本地web api项目映射到了公网,实现互联网也能访问本地的项目了。操作比较简单,可以基于简单操作去了解原理,拆解相关流程,熟悉框架玩法。