docker - 信任由本地 CA 签名的证书来自 docker 内的 AspNetCore-Api
问题描述
我有以下场景:我想在 windows 主机上的 windows docker 容器中运行三个服务(仅限 Intranet)
一个 IdentityServer4
Api(使用 IdSvr 进行授权)
一个 Web 客户端(使用 api 作为数据层,使用 IdSvr 进行授权)
所有这三个服务都使用 asp.netcore 2.1(以 microsoft/dotnet:2.1-aspnetcore-runtime 作为基础)运行,并使用由本地 CA 签名的证书。我现在面临的问题是我无法让 api 或 webclient 信任这些证书。
例如,如果我调用 api,身份验证中间件会尝试调用 IdSvr,但由于不受信任的 ssl 证书而在 GET '~/.well-known/openid-configuration' 上出现错误。
有没有办法让服务信任本地 CA 颁发的每个证书?我已经尝试过这种方式,但要么我做错了,要么就是没有成功。
恕我直言,一个 docker 容器必须有自己的 CertStore 否则不可能有可信的 https 连接。所以我的想法是从docker主机CertStore(信任CA)获取根证书到容器中,但我不知道如何实现这一点。
解决方案
推荐阅读
- kubernetes - 具有惰性序列和 SSE 的有状态服务——如何通过容错进行分发?
- pine-script - 脚本实时冻结最新数据(重新绘制),仅在刷新浏览器页面时显示所需值
- javascript - jQuery pop 从末尾删除项目
- python-3.x - 为什么我不能在 Windows 的 python 3 中使用 pip 安装 hashlib?
- security - 自动将所有 HTTP 流量重定向到 HTTPS 是否会无意中鼓励中间人攻击向量?
- c# - 是否可以让分析器了解 Jetbrains NotNull-attributes 或等效项?
- vb.net - 将数据从 Datagrid 传递到 Report Viewer
- typescript - 如何使用 Jest 从 Typescript 中的接口创建模拟对象?
- docker - 访问 Docker 容器的 localhost
- python - 如何使用 vmware pyvmomi 为 VM 获取 ipstack?