此站点无法从dotnet linux提供安全连接asp.net核心

vwhgwdsa  于 2022-11-22  发布在  Linux
关注(0)|答案(6)|浏览(178)

我目前正在使用www.example.com core 2.1开发一个APIasp.net。当我在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>();

configure.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");

}
bfnvny8b

bfnvny8b1#

诚然,我没有使用Linux,但在我的例子中,我能够通过以下方法在我的www.example.com核心项目中修复这个问题asp.net:
1.通过在解决方案资源管理器中右键单击项目并选择“属性”来打开项目属性
1.打开“调试”选项卡
1.在“Web服务器设置”下,选中“启用SSL”
现在,当我调试应用程序时,它会自动启动到https URL。

daolsyd0

daolsyd02#

我们有一个已知的问题,我们目前正在解决在应用服务 * 上的容器 * 中运行的ASP.NET核心应用的问题。这个问题在here中进行了描述,我们还计划向社区介绍如何在今天解决这个问题 * 以及 * 我们计划如何长期修复它。可能没有相关性,但为了以防万一,希望将其放在这里。

tcbh2hod

tcbh2hod3#

我正在运行一个本地主机测试示例。我不需要使用https,所以禁用https。
类程序. css

//.UseSetting("https_port", "5000")

类启动. css

//app.UseHsts();
31moq8wy

31moq8wy4#

我很有可能迟到了,但这可能会帮助其他人谁会访问。你可以说这个错误几乎是不言自明的,你试图达到网站使用不支持的协议。请确保您使用正确的协议。即如果您的网站是http,然后确保在浏览器上键入的网址确实是http,例如https://localhost:8000与http://localhost:8000,注意字母的URL的差异。我遇到了这样的问题,改变到正确的协议解决了我的问题。

xnifntxz

xnifntxz5#

我正在使用vs Code . .net版本6。从launchSettings.json中删除下面的行对我很有效
“sslPort”:44308〈--删除此文件。
我和一个
网络运行--网址“http://localhost:5100”

iyfamqjs

iyfamqjs6#

在ASP.net酷睿6中,请访问:
项目--〉〈〉属性--〉调试--〉常规--〉打开调试启动配置文件UL --〉IIS Express --〉取消选中使用SSL选项。
清理--〉重新编译--〉发布
确保使用的是http而不是https

相关问题