最佳答案
我在 Ubuntu 14.04的 Docker 1.13.1容器中运行 ASP.NET Core 1.1 Web API。
当代码试图从 HTTPS 服务器检索某些数据时,我会得到这个证书身份验证错误:
An error occurred while sending the request. ---> System.Net.Http.CurlException: Peer certificate cannot be authenticated with given CA certificates
at System.Net.Http.CurlHandler.ThrowIfCURLEError(CURLcode error)
at System.Net.Http.CurlHandler.MultiAgent.FinishRequest(StrongToWeakReference`1 easyWrapper, CURLcode messageResult)
HTTPS 服务器是由我们公司 CA 签署的内部证书,所以我知道我可能需要注册内部 CA。
到目前为止,我发现的所有关于这个错误和 Docker 谈到让 Docker 本身运行,连接到回购等。我的 Docker 工作正常,而且 Web API 在容器外的 Ubuntu 服务器上运行没有问题。
1)我是否需要在 docker 映像内加入 CA 根证书?
2)如果有,我该怎么做?
3)如果没有,我怎么解决这个问题?