ASP.NET Core中配置监听URLs的六种方式

ASP.NET Core中配置监听URLs的六种方式_第1张图片

默认情况下,ASP. NET Core应用会监听一下2个Url:

  • http://localhost:5000
  • https://localhost:5001

在本篇博文中,我将展示如何使用五种不同的方式改变应用监听的URLs。

在ASP.NET Core项目启动时,有多种配置监听Url的方式,在我之前的一篇博客中,已经展示了在ASP.NET Core 1.0中如何应用不同的方式配置,在ASP.NET Core 3.x中,大部分方式还是一样的。

  • UseUrls() - 在Program.cs配置程序监听的URLs
  • 环境变量 - 使用DOTNET_URLS或者ASPNETCORE_URLS配置URLs
  • 命令行参数 - 当使用命令行启动应用时,使用--urls参数指定URLs
  • 使用launchSettings.json - 使用applicationUrl属性来配置URLs
  • KestrelServerOptions.Listen() - 使用Listen()方法手动配置Kestral服务器监听的地址

下面我来详细说明一下每个一种方式。

哪些Url可以使用?

在本篇我描述是你可以绑定的"URLs", 但是你不能使用所有的URLs. 这里有三种你可以绑定的URLs

  • IPV4和IPV6的主机名(例如http://localhost:5000). 这种URL的格式是{scheme}://{loopbackAddress}:{port}
  • 在你机器上可用的指定IP地址(例如http://192.168.8.31:5005), 这种URL的格式是{scheme}://{IPAddress}:{port}
  • 针对给定端口,使用"任何"IP地址(例如http://*:6264), 这种URL的格式是{scheme}://*:{port}

在以上说明的几种格式中,端口号也可以是选填的, 如果你忽略它,系统会使用默认端口(http使用80端口,https使用443端口)。

使用哪一种格式的URLs取决于你的部署方式。例如,如果你你将多个应用托管在同一台“裸机”中,你可能需要显示指定IP地址。但是如果你使用了容器托管,那么你可以使用localhost作为地址。

注意,针对"任何"IP地址的格式 - 你不一定必须使用*,你可以使用任何字符,只要不是IP地址或者localhost, 这意味着你可以使用http://*h

你可能感兴趣的:(.netcore)