首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置自签名证书

配置自签名证书
EN

Stack Overflow用户
提问于 2022-04-13 18:03:23
回答 1查看 107关注 0票数 0

我正试图通过appsettings.json文件配置一个自签名证书.我将现有的IIS证书导出到pfx文件。然后我在我的appsettings.json里有了这个:

代码语言:javascript
复制
"Kestrel": {
    "Endpoints": {
      "Https": {
        "Url": "https://MYDOMAIN:5001",
        "Certificate": {
          "Path": "c:\\1\\IIScert.pfx",
          "Password": "12345"
        }
      }
    }    
  }

它完全忽略它,而是通过http收听5000。

然后,我尝试通过program.cs文件对其进行配置,结果稍微好一点:

代码语言:javascript
复制
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    webBuilder.ConfigureKestrel(serverOptions =>
                    {

                        serverOptions.Listen(IPAddress.Any, 5001, listenOptions =>
                        {
                            listenOptions.UseHttps(@"C:\1\IIScert.pfx", "12345");
                        });
                    });

                });

它在火狐上运行,但在Chrome上返回"ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY“。

为什么它忽略了我的appsettings.json,为什么它不能在Chrome上工作?我能够访问我的IIS网站使用这个证书在Chrome上没有问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-13 19:05:33

没有使用appsettings.json设置,因为很明显,它也需要在program.cs中加载文件,而不是像我所拥有的那样只加载startup.cs

代码语言:javascript
复制
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {

                    var config = new ConfigurationBuilder().AddJsonFile($"appsettings.json", optional: true).Build();

                    webBuilder.UseConfiguration(config);

                    webBuilder.UseStartup<Startup>();                                        

                });
    }

至于通过代码设置证书,则需要设置。

代码语言:javascript
复制
listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http1;

这也可以在appsettings.json中完成。

至于为什么Http2返回Chrome错误,请参阅此错误报告。https://github.com/dotnet/aspnetcore/issues/41175

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71862016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档