You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Asp.NET+React+TypeScript项目在局域网内正常访问?

问题描述
  • 基于Visual Studio的Asp.NET+React TSX模板开发DayZ服务器管理器,迁移后本地运行正常,但局域网内无法访问
  • 调试模式下将localhost替换为0.0.0.0并添加--host参数有效,前端会监听多个网络地址(输出显示多个Network地址)
  • 发布到生产环境后,后端仅监听http://localhost:5000,手动替换所有localhost为0.0.0.0无效
解决方案

后端(ASP.NET Core)配置调整

1. 修改配置文件

在appsettings.Production.json中添加Urls节点,指定监听所有IP的端口:

{
  "Urls": "http://0.0.0.0:5000;https://0.0.0.0:5001"
}

2. 代码层面指定监听地址

在Program.cs中,构建WebApplication后添加监听地址:

var app = builder.Build();
// 新增以下两行指定监听所有IP
app.Urls.Add("http://0.0.0.0:5000");
app.Urls.Add("https://0.0.0.0:5001");
// 后续中间件配置及启动代码...
app.Run();

3. 启动时通过命令行参数指定

启动发布后的程序时,追加--urls参数:

dotnet YourProjectName.dll --urls "http://0.0.0.0:5000;https://0.0.0.0:5001"

前端(Vite React)配置(若需单独部署或预览)

如果需要生产预览模式下前端监听所有IP,修改vite.config.ts:

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  preview: {
    host: '0.0.0.0',
    port: 5173
  },
  build: {
    outDir: 'build' // 对应ASP.NET模板中前端输出目录
  }
});

集成部署注意事项

使用Visual Studio的Asp.NET+React模板时,生产环境前端会被构建到后端的wwwroot目录由后端托管,此时只需确保后端监听0.0.0.0,局域网内机器通过http://你的服务器IP:5000即可访问整个应用。

验证步骤

  1. 启动发布后的程序,确认控制台输出显示Now listening on: http://0.0.0.0:5000
  2. 在局域网其他机器上,用浏览器访问http://服务器IP:5000
  3. 若仍无法访问,检查:
    • 服务器防火墙是否开放5000/5001端口
    • 服务器与客户端是否在同一局域网段
    • 服务器IP是否正确(通过ipconfig查看)

内容的提问来源于stack exchange,提问作者Julian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:37:15