2013-04-17 8 views
6

Ich fand nur, wie man start puma using SSL:Wie konfiguriere ich Rails mit Puma, um SSL zu verwenden?

$ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'

Es gibt jedoch keine Beschreibung darüber, wie ein Zwischen CA cert in der Dokumentation enthalten. Könnte mir jemand in die richtige Richtung zeigen? Ich benutze Puma 1.6.3

Vielen Dank!

+0

@Smartis Danke für die Bearbeitung! Ich überlege, diese Frage zu schließen und/oder sogar zu löschen, weil es ein bisschen ist ... Redundant und seltsam spezifisch? Gedanken? – omninonsense

Antwort

7

Die Kombination von Zertifikat und Bundle funktioniert nur, wenn Sie nginx verwenden.

Ohne nginx, können Sie ca und verify_mode Optionen verwenden:

rails s puma -b 'ssl://0.0.0.0:9292?key=path_to_key.key&cert=path_to_cert.crt&verify_mode=none&ca=path_to_root_bundle.crt'

Quelle: https://github.com/puma/puma/blob/master/lib/puma/binder.rb

+0

Das scheint auch nicht zu funktionieren. – Susan

+1

Pfad zum Root-Paket? Was zum Henker ist das? – IIllIIll

-4

Es könnte eine bessere Idee sein, Phusion Passenger + Nginx für SSL-Unterstützung zu verwenden. Diese Kombination verfügt über eine weit verbreitete Dokumentation und ist sehr einfach einzurichten, da sie derzeit die beliebteste App-Server-Wahl ist und von Leuten wie New York Times, Symantec, AirBnB usw. verwendet wird. So funktioniert es, wenn Sie Nginx mit Phusion Passenger haben installiert:

server { 
    listen 443; 
    server_name yourapp.local; 
    ssl on; 
    ssl_certificate ...; 
    ssl_key ...; 
    root /path-to-your-app/public; 
    passenger_enabled on; 
} 
+0

DV für die Antwort auf die Frage. – LAW

+1

Es ist vielleicht nicht die Antwort, die Sie suchen, aber es ist eine gültige Antwort. Wenn etwas nicht funktioniert, dann ist es vielleicht besser, stattdessen Alternativen zu betrachten. – Hongli

+8

Die Frage ist "Wie konfiguriert man Schienen mit Puma, um SSL zu benutzen?". Ich verstehe nicht, wie das Erklären eines Phusion Passenger-Setups dies auch nur entfernt beantworten kann. Ich nehme an, OP ist sich der verschiedenen Server-Optionen bewusst und wählte Puma aus irgendeinem Grund, so wie ich es war, als ich diese Frage fand. Es hat gute Dinge über Puma gesagt, und ich wollte es speziell zum Laufen bringen, damit ich es testen kann. Also nein, du sagst mir, ich solle etwas anderes benutzen, ist überhaupt nicht hilfreich. – LAW

3

während wir Combo Nginx + PhusionPassenger auch verwenden. Sie können Chain-Cert-Datei auch nicht in nginx angeben. Der Trick besteht darin, alle Zertifikate innerhalb eines Zertifikats zu bündeln und dann die neue Zertifikatsdatei als Zertifikat in Ihrer Serverkonfiguration festzulegen. Weitere Informationen finden Sie unter nginx documentation. Überprüfen Sie den Abschnitt SLL-Zertifikatketten.

cat www.example.com.crt bundle.crt > www.example.com.chained.crt 

Ich hoffe, es hat geholfen.

+0

Das Anhängen der Zwischenzertifikate scheint in Puma nicht zu funktionieren. – Susan

2

rails s puma -b 'ssl://0.0.0.0:9292?key=certkey.key&cert=cert.crt&verify_mode=peer&ca=root_bundle.crt

So stellen Sie sicher stellen Sie die verify_mode=peer.