ich folgende Dockerfile bin mit einem Behälter für meine ASP.NET Core-Anwendung zu erstellen:Asp.net Core-Docker Container Outbound HTTPS ruft
FROM microsoft/aspnetcore:1.1.2
ARG source
WORKDIR /app
EXPOSE 80
COPY PublishOutput .
ENTRYPOINT ["dotnet", "IdentityServer4.Management.dll"]
Es scheint, dass, wenn mein Container hat keine abgehenden Anrufe tätigen über HTTPS, wird eine Ausnahme ausgelöst, Referenzierung curl:
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.CurlException: SSL connect error
Dies auch dann, wenn die Remote-Seite ein gültiges Zertifikat muss passieren scheint. Ich in der Lage, dies zu umgehen, indem die folgenden HttpHandlerto ein Httpclient Befestigung, die die Probleme zu umgehen, scheint:
var httpClientHandler = new HttpClientHandler();
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
Was soll ich hier fehlt, und warum habe ich dies als eine Abhilfe zu tun?
Darauf zu erforschen versucht, stieß ich auf einige Diskussionen, die ein „Client-Zertifikat“ benötigt wird, um diese Verbindung herzustellen, ohne konkrete Beispiele.
Auch ich bin mit technisch Rancher für unser Docker-Management-System, das eine Reihe von Infrastruktur, die diese Behälter laufen. Nicht sicher, ob das überhaupt einen Unterschied macht, aber ich dachte, ich würde es erwähnen.