我已经在.NET core 2.1中使用SSL证书创建了一个Web应用程序。部署到我们的测试服务器时,它运行良好。现在,我正在尝试使用SSL证书创建Docker映像。
这是我创建图像的方式:
这是我设置yml的方式
docker-compose.override.prod.yml
我可以创建docker镜像并确定该镜像,但出现以下错误:Microsoft.AspNetCore.Server.Kestrel [0]无法启动Kestrel
我已确认已创建SSL证书,并且该项目具有指向该证书的链接。
答案 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映像中。