首页 新闻 会员 周边 捐助

升级到 .NET 8 后日志中出现 HTTP_PORTS 与 HTTPS_PORTS 相关的警告

0
悬赏园豆:30 [已解决问题] 解决于 2024-01-10 21:48

ASP.NET Core 项目升级到 .NET 8 之后,日志中出现下面的警告:

Overriding HTTP_PORTS '"80"' and HTTPS_PORTS '""'. Binding to values defined by URLS instead '"http://*:80"'.

请问如何消除这个警告?

问题补充:

Dockerfile 中配置了下面的环境变量

ENV ASPNETCORE_HTTP_PORTS=80
dudu的主页 dudu | 高人七级 | 园豆:30559
提问于:2024-01-09 10:12

我问问chat gpt去!

echo_lovely 11个月前
< >
分享
最佳答案
0

就是 Dockerfile 中设置的环境变量引起的

ENV ASPNETCORE_HTTP_PORTS=80

改为下面的环境变量设置就解决了

ENV ASPNETCORE_URLS="http://*:80"
ENV ASPNETCORE_HTTP_PORTS=""

参考链接:

dudu | 高人七级 |园豆:30559 | 2024-01-10 21:45
其他回答(1)
1

这个警告表明在ASP.NET Core项目升级到.NET 8之后,存在对HTTP和HTTPS端口的默认绑定方式的变化。警告指出正在覆盖HTTP_PORTS和HTTPS_PORTS的默认值,并建议使用通过URLS定义的端口值进行绑定。

在.NET 8中,ASP.NET Core引入了一个新的方式来配置HTTP和HTTPS绑定端口,通过URLS环境变量进行配置。这是为了提供更灵活的配置选项,以便更好地支持容器化环境和云环境等场景。

要解决这个警告,你可以按照以下步骤进行操作:

  1. 检查Program.cs文件: 打开你的ASP.NET Core项目的Program.cs文件,确保使用了新的方式配置URLS。这通常包括调用ConfigureWebHostDefaults方法并配置UseUrls。

示例:

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseUrls("http://*:80");
                webBuilder.UseStartup<Startup>();
            });
}
  1. 移除旧的端口配置: 移除任何旧的HTTP_PORTS和HTTPS_PORTS配置,因为它们在.NET 8中已经不再建议使用。

  2. 重启应用程序: 保存更改并重新启动你的应用程序,确保警告不再出现。

通过采取这些步骤,你应该能够适应.NET 8的新端口绑定方式,解决这个警告。

收获园豆:30
echo_lovely | 园豆:1563 (小虾三级) | 2024-01-09 14:34

还有一种写法,但是都没有用,日志还是会出现

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://*:80");
支持(0) 反对(0) dudu | 园豆:30559 (高人七级) | 2024-01-09 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册