Wir verwenden selbstsignierte Zertifikate hinter einer Reihe von Lastenausgleichsmodulen, die Endpunkte verwenden selbstsignierte Zertifikate.
Beim direkten Testen der Endpunkte mit CURL treten zeitweise SSL-Verbindungsfehler auf (Code 35).
Hier ist eine Beispielausgabe eines fehlgeschlagenen Versuchs:
curl --insecure beispiel.com/index.html
- Ich versuche 9773 ...
- TCP_NODELAY festgelegt
- Verbunden mit example.com (10.8.49.98) Port 9773 (#0)
- ALPN bietet h2
- ALPN bietet http/1.1 an
- Zertifikatsüberprüfungsorte erfolgreich festgelegt:
- CA-Datei: /etc/ssl/cert.pem CA-Pfad: keiner
- TLSv1.2 (OUT), TLS-Handshake, Client-Hallo (1):
- TLSv1.2 (IN), TLS-Handshake, Server-Hallo (2):
- TLSv1.2 (IN), TLS-Handshake, Zertifikat (11):
- TLSv1.2 (IN), TLS-Handshake, Server-Schlüsselaustausch (12):
- TLSv1.2 (IN), TLS-Handshake, Server fertig (14):
- TLSv1.2 (OUT), TLS-Handshake, Client-Schlüsselaustausch (16):
- TLSv1.2 (OUT), TLS-Chiffre ändern, Verschlüsselungsspezifikation ändern (1):
- TLSv1.2 (OUT), TLS-Handshake, Fertig (20):
- LibreSSL SSL_connect: SSL_ERROR_SYSCALL bei Verbindung mit example.com
- Verbindung wird geschlossen 0 curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in Verbindung mit example.com:9773
Liegt das an einer Fehlkonfiguration? An einem Problem mit der Serverleistung? Am Netzwerk?
Server ist Tomcat 8.
Befehl zum Erstellen des Zertifikats:
openssl req -x509 -newkey rsa:4096 -nodes -keyout private.pem -out public.crt -days 365 -subj '/CN=example.com'
Die zugehörige Tomcat-SSL-Konfiguration:
<Connector port="9773" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
compression="on"
address="0.0.0.0"
>
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig
protocols="TLSv1.2"
>
<Certificate
certificateFile="/ssl/certs/public.crt"
certificateKeyFile="/ssl/certs/private.pem"
/>
</SSLHostConfig>
</Connector>