猿问

此站点无法提供来自 dotnet linux 的安全连接 asp.net core

我目前正在使用 asp.net core 2.1 开发 API。当我在 Windows 中使用 ide visual studio 2019 时,我在运行项目时没有问题,但现在我使用的是 manjaro linux,并且我使用 dotnet 控制台进行编译时出现错误: 此站点无法提供安全连接 err_ssl_protocol_error

我见过的大多数解决方案都是使用框架 asp.net 或更改 visual studio IDE 的选项制作的,因此我无法在我的项目中实现它。我尝试添加:


.UseSetting("https_port", "5000")

在 program.cs 中,但没有用


类程序.cs


public static void Main(string[] args)

{

    var host = CreateWebHostBuilder(args).Build();

    RunSeeding(host);//esta llamando el alimentador de la base de datos

    host.Run();

}


private static void RunSeeding(IWebHost host)

{

    var scopeFactory = host.Services.GetService<IServiceScopeFactory>();

    using (var scope = scopeFactory.CreateScope())

    {

        var seeder = scope.ServiceProvider.GetService<SeedDb>();

        seeder.SeedAsync().Wait();

    }

}


public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

    WebHost.CreateDefaultBuilder(args)

        .UseSetting("https_port", "5000")

        .UseStartup<Startup>();

配置.cs类


 public void Configure(IApplicationBuilder app, IHostingEnvironment env)

{

    if (env.IsDevelopment())

    {

        app.UseDeveloperExceptionPage();

    }

    else

    {

        // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.

        app.UseHsts();

    }


    app.UseHttpsRedirection();

    app.UseMvc();                



    app.UseCors("AllowSpecificOrigin");



呼如林
浏览 188回答 6
6回答

蛊毒传说

我们有一个已知问题,目前我们正在处理在应用服务容器中运行的 ASP.NET Core 应用。此处描述了此问题,以及我们计划教育社区今天如何解决此问题以及我们计划如何长期修复它。可能不相关但想把它放在这里以防万一。

潇潇雨雨

我正在使用 vs 代码。.net 版本 6。从 launchSettings.json 中删除以下行对我有用"sslPort": 44308 <-- 删除它。我用dotnet run --urls "http://localhost:5100"

达令说

我正在使用本地主机测试实例。我不需要使用 https,所以禁用 https。类程序.css//.UseSetting("https_port",&nbsp;"5000")类 startup.css//app.UseHsts();

慕虎7371278

我很可能会迟到,但也许这可能会帮助其他人来访。您可以说该错误几乎是不言自明的,您正在尝试使用不受支持的协议访问该站点。请确保您使用的是正确的协议,即如果您的站点是 http,那么请确保在浏览器上输入的 url 确实是 http,例如 https://localhost:8000 与 http://localhost:8000,注意字母的区别在网址中。我遇到了这样的问题,改用正确的协议解决了我的问题。

PIPIONE

在 ASP.net Core 6 中,转到:项目 --> <> 属性 --> 调试 --> 常规 --> 打开调试启动配置文件 UL --> IIS Express --> 取消勾选使用 SSL 选项。清理 --> 重新编译 --> 发布确保你使用http而不是https

至尊宝的传说

无可否认,我没有使用 Linux,但就我而言,我能够通过以下方式在我的 asp.net 核心项目中修复此问题:通过在解决方案资源管理器中右键单击项目并选择属性来打开项目属性打开调试选项卡在“Web 服务器设置”下,勾选“启用 SSL”现在,当我调试应用程序时,它会自动启动到 https URL。
随时随地看视频慕课网APP
我要回答