【发布时间】:2021-08-29 04:14:49
【问题描述】:
我在 TLS 终止代理后面的容器中有一个 OpenID Connect 服务器 (OpenIDdict) 和一个 asp.net 核心 webapp。在生产中,webapp 和 OIDC 服务器之间的所有通信都可以通过“外部”,基于它们的公共名称。但是,在开发中,我使用的自签名证书不受运行应用程序的容器信任,仅受我的主机 PC 信任。因此,在开发中,webapp 可以很好地将浏览器重定向到 OIDC 服务器,但是当它需要调用令牌端点时,它将失败,因为证书不受信任。
一个可能的解决方案是让服务器到服务器的通信通过内部容器网络进行,但我无法让它工作。有没有办法让 asp.net 核心 OpenID Connect 中间件使用不同的 url(和协议)进行服务器到服务器的通信?
另一种解决方案是在容器中安装自签名证书,但因为这仅在开发中需要,因此给图像增加负担似乎是一种不好的做法。这个评价正确吗?
我希望我错过了最明显的解决方案。有什么想法吗?
【问题讨论】:
标签: docker asp.net-core openid-connect asp.net-core-5.0 openiddict