2016-04-04 17 views
0

Ich verwende PrivatePub auf einem Thin-Server mit SSL/Apache.Thin über SSL über Apache führt keinen Handshake durch

Ich habe eine Thin-Konfigurationsdatei wie folgt:

ssl: true 
cert_chain_file: "{cert directory}/fullchain.pem" 
ssl_key_file: "{cert directory}/privkey.pem" 
environment: "production" 
rackup: "private_pub.ru" 

und ich laufe dünn mit:

$ bundle exec thin -p 9292 -C config/private_pub_thin.yml start 

Wo private_pub_thin.yml die obige Konfigurationsdatei ist.

Der Server startet ohne Probleme und findet die Zertifikatsdateien - die dieselben sind, die ich für meinen Rails-Server verwende und mit Qualys überprüft habe.

Allerdings hat mein Rails-Server Probleme beim Verbinden mit Thin. Früher habe ich openssl zu versuchen, herauszufinden, was das Problem war:

$ openssl s_client -connect 0.0.0.0:9292 

Returns:

140388916979344:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177: 
CONNECTED(00000003) 
--- 
no peer certificate available 
--- 
No client certificate CA names sent 
--- 
SSL handshake has read 0 bytes and written 315 bytes 
--- 
New, (NONE), Cipher is (NONE) 
Secure Renegotiation IS NOT supported 
Compression: NONE 
Expansion: NONE 
No ALPN negotiated 
--- 

ohne Fehler auf der dünnen Seite.

Ich bin mir nicht sicher, wie es weiter geht, herauszufinden, warum Thin keinen richtigen Händedruck macht.

Antwort

0

Behoben. Das Problem scheint gewesen zu sein, dass Thin die Konfigurationsdatei nicht richtig verwendet hat. Es wurde definitiv analysiert und auf die Existenz der SSL-Cert-Kette und Schlüsseldateien überprüft, wie ich durch das Löschen Debug-Zeilen in der tatsächlichen Edelstein Quelle bestätigt, aber irgendwie nicht mit ihnen richtig, um den SSL-Handshake zu tun.

Die Übergabe der SSL-Zertifikatkette und der Schlüsseldatei als Befehlszeilenoptionen und nicht in einer separaten Konfigurationsdatei funktionierte einwandfrei.