Visual Studio ASP.NET Docker HTTPs 证书

问题描述 投票:0回答:1

我正在运行 Visual Studio 2022,并安装了 Docker Desktop(Linux 容器)。

当我转到文件 -> 新项目 -> ASP.NET Core Web App 并勾选“配置 HTTPS”、勾选“启用 Docker”并将 Docker 操作系统设置为 Linux 时。 然后尝试使用选定的 Docker 配置文件调试应用程序。 Debug settings

我收到以下错误:

Error

它说要查看容器工具输出,但没有任何错误。

看看人们建议运行的其他事情:

dotnet 开发证书 https --clean

dotnet 开发证书 https --trust

我已经完成并可以在证书存储(个人和受信任)中看到本地主机证书。但它仍然会导致与上面完全相同的错误。

我看到通过以下方式导出证书的建议:

dotnet 开发证书 https -ep%APPDATA%\ASP.NET\Https\WebApplication1.pfx -p 2e20670b-2656-4d5f-8e5b-b6d782b20113

2e20670b-2656-4d5f-8e5b-b6d782b20113 是项目的 UserSecretsId。 我可以看到 WebApplication1.pfx 证书,奇怪的是每个人都引用具有“Kestrel:Certificates:Development:Password”条目的 UserSecrets 文件

但是我的是空的。我尝试添加条目:

{
  "Kestrel:Certificates:Development:Password": "2e20670b-2656-4d5f-8e5b-b6d782b20113"
}

但它仍然会导致同样的错误。

请帮忙,因为过去 4 天我一直在为此发疯。

docker asp.net-core https certificate
1个回答
0
投票

在我的解决方案中添加另一个 Web API 项目并从旧的 Web API 迁移代码后,我遇到了同样的问题。我也花了几个小时试图找到问题所在。

最后通过删除所有内容解决了这个问题

%APPDATA%\Microsoft\UserSecrets
文件夹并将 UserSecretsId 添加到新项目的 .csproj 文件中:

<PropertyGroup>
  <UserSecretsId><Paste any random guid here></UserSecretsId>
</PropertyGroup>

以防万一,也请清理证书:

dotnet dev-certs https --clean
dotnet dev-certs https -t
© www.soinside.com 2019 - 2024. All rights reserved.