如何在Docker映像的.NetCore项目中启动Kestrel

时间:2018-12-28 15:28:56

标签: docker ssl .net-core

我已经在.NET core 2.1中使用SSL证书创建了一个Web应用程序。部署到我们的测试服务器时,它运行良好。现在,我正在尝试使用SSL证书创建Docker映像。

这是我创建图像的方式:

Windows cmd commands

这是我设置yml的方式

docker-compose.override.prod.yml

我可以创建docker镜像并确定该镜像,但出现以下错误:Microsoft.AspNetCore.Server.Kestrel [0]无法启动Kestrel

我已确认已创建SSL证书,并且该项目具有指向该证书的链接。

Link to certificate

1 个答案:

答案 0 :(得分:0)

您应该使用SSL支持启动Krestel

WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
    options.Listen(IPAddress.Loopback, 5000);  // http:localhost:5000
    options.Listen(IPAddress.Any, 80);         // http:*:80
    options.Listen(IPAddress.Loopback, 443, listenOptions =>
    {
        listenOptions.UseHttps("certificate.pfx", "password");
    });
})
.UseStartup<Startup>()
.Build();

必须通过Dockerfile中的相应命令将PFX文件复制到Docker映像中。