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.
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%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.