Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Sinatra über SSL
BeitragVerfasst: 18 Jan 2011, 03:06 
Offline
Lehrling

Registriert: 24 Okt 2004, 00:18
Beiträge: 68
Hallo,

Ich möchte eine kleine Sinatra App über SSL erreichbar machen ohne einen extra proxy wie nginx.
WEBrick lässt sich prinzipiell (so ziemlich als einziger) auch eigentlich ganz bequem dazu überreden.
Die Frage ist nun, wie bringe ich Sinatra und webrick nun am besten zusammen?

Prinzipiell wäre wohl sowas denkbar:require 'webrick/https'
require 'rack'
require './app.rb'

Rack::Server.start(
:app => Sinatra::Application,
:server => "webrick",
:Port => 8080,
:SSLEnable => true,
[mehr ssl-optionen]
)

Laut Doku sollte das genau so gehen. In der Realität braucht er aber leider eine :config Datei. Erst mit einer zusätzlichen Zeile in Rack::Server tut er wieder wie versprochen und obiges läuft genau so.

Die Alternative ist wohl Rack::Handler::WEBrick.run zu verwenden. Das ist aber wohl eigentlich nicht dazu gedacht direkt genutzt zu werden und lässt sich u.a. auch nicht einfach per ^C beenden, so dass am Ende dann sowas rauskommt: Rack::Handler::WEBrick.run(Sinatra::Application,
[mehr optionen]
){|s|Signal.trap(:INT) {s.shutdown}}


Direkt per rackup scheint es nicht möglich zu sein dem Webserver zusätzliche Optionen (fürs SSL) zu übergeben.
Hab ich noch irgend was wichtiges übersehen?

Momentan favorisiere ich ja grad die erste Lösung, aber an "offiziellen" Bibliotheken manuell rumzuschrauben mach ich eigentlich auch immer nur mit schlechtem Gewissen. - Irgendwie hab ich das Gefühl irgend eine ganz simple/elegante Lösung vor lauter Bäumen nicht zu sehen...

Update: Hm, eine noch andere Möglichkeit wäre wohl direkt im Sinatra die run!-Methode aufzubohren und direkt dort die Optionen setzbar zu machen. - Läuft wohl doch auf einen Feature-Request hinaus...


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: