2015-02-10 15 views
6

Mój cel to przejście ze standardowego serwera HTTP do bezpieczniejszego HTTPS.Szyny, Windows i HTTPS

Moja konfiguracja to: Ruby 2.0.0p598, Rails 4.2.0, 1.6.3 Cienki, Windows 7 Pro x64 SP1

Co zrobiłem: Korzystanie z podpisem własnym Zaświadczenie spróbuj uruchomić serwer z:

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

czym polega problem: otrzymuję następujący błąd:

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. 

Moje pytanie do Ciebie: Czy wiesz, czy jest to ogólny problem w systemie Windows (dlatego nie mogę nawet myśleć o tym, aby odnieść sukces) lub czy istnieje sposób, aby pozwolić cienkiej pracy z ssl w systemie Windows?

+1

we wdrożeniu _normal_ będziesz mieć serwer WWW przed cienki, który kończy SSL, a cienki nie musi się o to martwić. Wdrażanie w systemie Windows jest _nie normalne_ i jest ogólnie uważane za złą praktykę (chociaż niektórzy ludzie robią to w każdym razie). Mimo to nadal możesz umieścić normalny serwer WWW przed cienkim w systemie Windows. –

Odpowiedz

3

To jest duplikatem: Install OpenSSL with Ruby for eventmachine on Windows 7 x86

położę samą odpowiedź jak tam:

użyciu rubyinstaller-2.1.6.exe, DevKit-mingw64-32-4.7.2-20130224-1151- sfx.exe i OpenSSL (http://slproweb.com/download/Win32OpenSSL-1_0_2c.exe lub wyższej) c: \ OpenSSL

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

uda ale działa cienkie ssl nie w zwykły sposób:

Encryption not available on this event-machine 

Powyżej pokazano, jak przekazać parametr do rodzimej konfiguracji klejnotów, która powinna ci pomóc. Nadal musimy znaleźć zestaw parametrów, które pozwolą poprawnie zbudować rzecz.

jak zrobić

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

Tak ...?

po pół dnia z kopanie mam poprawione eventmachine poprawnie szukać bibliotekami SSL na oknach więc używać poniżej linii w gemfile aż zmiany zostaną scalone: ​​

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

przed zainstalowaniem wiązka określić lokalizację SSL (to musi być pełna wersja SSL z nagłówkami developer/libs)

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

Musiałem także zrobić własny cienki który nie aktywuje inny eventmachine więc potrzebny jest kolejny wiersz gemfile:

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

niestety nadal mam problem przy użyciu non-self podpisany cert: thin rails server/eventmachine on windows does not work with custom certificate (Sprawa zamknięta - źle cert)