【发布时间】:2020-01-17 03:54:51
【问题描述】:
我正在使用以下 Dockerfile 为我的 ASP.NET Core 应用程序创建一个容器:
FROM microsoft/aspnetcore:1.1.2
ARG source
WORKDIR /app
EXPOSE 80
COPY PublishOutput .
ENTRYPOINT ["dotnet", "IdentityServer4.Management.dll"]
似乎如果我的容器必须通过 HTTPS 进行任何出站调用,则会引发异常,引用 curl:
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.CurlException: SSL connect error
即使远程端拥有有效证书,这似乎也会发生。我已经能够通过将以下 HttpHandler 附加到 HttpClient 来绕过这个问题,这似乎绕过了这些问题:
var httpClientHandler = new HttpClientHandler();
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
我在这里遗漏了什么,为什么我必须这样做作为一种解决方法?
在尝试对此进行研究时,我遇到了一些讨论,即需要“客户端证书”来建立此连接,但没有具体示例。
此外,我在技术上使用 Rancher 来管理我们的 Docker 管理系统,该系统具有一组运行这些容器的基础架构。不确定这是否会有所不同,但我想我会提到它。
【问题讨论】:
标签: curl docker asp.net-core