Kann ich SSL in Sinatra mit Thin aktivieren?

7

Ich suche nach einer einfachen Möglichkeit, SSL in einer eigenständigen Sinatra-Anwendung zu aktivieren, die über Thin läuft, ohne die Parameter --ssl , --ssl-key-file und --ssl-cert-file über die Thin-Kommandozeile übergeben zu müssen.

Ist es möglich, sie direkt in der Sinatra-App oder über eine config.ru-Datei zu definieren?

Ich habe mehrere Stunden damit verbracht, nach einer Antwort auf diese Frage zu suchen, aber bis jetzt habe ich nichts gefunden, was funktioniert.

    
user1513388 10.07.2012, 00:38
quelle

3 Antworten

10

Ich habe gerade ein paar Stunden damit verbracht, mir selbst dieses herauszufinden.

Es stellt sich heraus, dass Thin::Server.initialize ssl -Optionen während seiner initialization -Methode verwirft (es delegiert an seine Instanz von Backend , die sofort ssl auf nil setzt, ignoriert alle ssl-Optionen, die Sie ' In Thin::Server.new übergeben. Das bedeutet, dass Sie SSL-Optionen festlegen müssen nachdem Sie einen Server instanziiert haben.)

So geht's:

%Vor%     
pje 17.11.2012 01:48
quelle
9

Heute (sinatra 1.4.1) run! akzeptiert einen Block, der den Server liefert. So können Sie das tun:

%Vor%     
artemave 19.03.2013 22:12
quelle
0

Ich führe Sinatra und Thin (auf Heroku) mit SSL mit dem Rack :: SslEnforcer aus das:

%Vor%

Dies sollte bevor Sie aktivieren: Sitzungen in Ihrer Datei.

    
Frank 21.03.2015 07:52
quelle

Tags und Links