2015-02-10 12 views
6

Mein Ziel ist, von einem Standard-HTTP-Server zu einem sicheren HTTPS-Server zu gelangen.Schienen, Windows und HTTPS

Mein Setup ist: Rubin 2.0.0p598, Rails 4.2.0, 1.6.3 Thin, Windows 7-Pro-x64-SP1

Was ich tat: Mit einem selbstsignierten Zertifikat I versuchen, den Server zu starten mit:

thin start --ssl --ssl-key-file ssl/server.key --ssl-cert-file ssl/server.crt 

Was die Frage ist: ich die folgende Fehlermeldung:

terminate called after throwing an instance of 'std::runtime_error' 
    what(): Encryption not available on this event-machine 

This application has requested the Runtime to terminate it in an unusual way. 
Please contact the application's support team for more information. 

Meine Frage an Sie: Wissen Sie, ob es ein allgemeines Problem unter Windows ist (daher kann ich nicht einmal daran denken, es zu schaffen) oder gibt es eine Möglichkeit, dünne Arbeit mit SSL unter Windows zu ermöglichen?

+1

In einer _normal_ Bereitstellung Sie einen Webserver vor dünn werden, die SSL beendet, und dünn muss sich nicht darum kümmern. Die Bereitstellung unter Windows ist _nicht normal_ und wird im Allgemeinen als eine schlechte Übung angesehen (obwohl einige Leute es trotzdem tun). Trotzdem kann man unter Windows noch einen normalen Webserver vor Thin stellen. –

Antwort

3

Dies ist ein Duplikat: Install OpenSSL with Ruby for eventmachine on Windows 7 x86

werde ich dieselbe Antwort setzen, da es:

rubyinstaller-2.1.6.exe verwenden, DevKit-mingw64-32-4.7.2-20130224-1151- sfx.exe und OpenSSL (http://slproweb.com/download/Win32OpenSSL-1_0_2c.exe oder höher) in C: \ OpenSSL

gem install eventmachine -- --with-ssl-dir=C:\OpenSSL 

gelingt es dann aber mit ssl läuft dünn ausfallen in üblichen Weise:

Encryption not available on this event-machine 

Sie sehen oben, wie Parameter an die native Edelstein-Konfiguration übergeben werden, die Ihnen helfen sollte. Wir müssen noch eine Reihe von Parametern finden, die es erlauben, das Ding korrekt zu bauen.

wie

checking for main() in -lssl... no 

ein Ja machen ...?

nach einem halben Tag graben ich eventmachine gepatcht haben richtig für ssl Libs auf Fenster zu suchen, um unter der Linie in gemfile verwenden, bis Änderungen zusammengeführt werden:

gem 'eventmachine', :github => 'krzcho/eventmachine', :branch => 'master' 

bevor das Bündel Lage von ssl angeben Installation (es Vollversion von ssl mit Entwickler-Header/libs sein muss)

bundle config build.eventmachine --with-ssl-dir=c:/OpenSSL 

musste ich auch meine eigenen dünn machen, die nicht eine andere ist die Aktivierung so eventmachine eine andere Linie in gemfile benötigt wird:

gem 'thin', :github => 'krzcho/thin', :branch => 'master' 

leider noch habe ich Problem, wenn nicht selbst signiertes Zertifikat verwenden: thin rails server/eventmachine on windows does not work with custom certificate (Fall geschlossen - falsch cert)