0成本实现.NET Web API 8.0项目内网映射

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

代码如下:

cs 复制代码
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项目映射到了公网,实现互联网也能访问本地的项目了。操作比较简单,可以基于简单操作去了解原理,拆解相关流程,熟悉框架玩法。

相关推荐
狂师10 分钟前
比 Playwright 更给力,推荐一个AI Agent的浏览器自动化开源项目!
前端·开源·测试
IT_陈寒19 分钟前
React hooks 闭包陷阱把我的状态吃掉了,原来问题出在这里
前端·人工智能·后端
壹方秘境21 分钟前
使用ApiCatcher在 iOS 上像修改 hosts 一样自定义域名解析
前端·后端·客户端
柳杉43 分钟前
可视化大屏设计器脚手架:从设计到交付的一站式方案
前端·three.js·数据可视化
hez201011 小时前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
kyriewen14 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒14 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮15 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦15 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer15 小时前
Webpack vs Vite 深度对比分析
前端·webpack