2015-02-10 42 views
6

我的目標是從標準HTTP服務器傳遞到更安全的HTTPS。Rails,Windows和HTTPS

我的設置是:紅寶石2.0.0p598,Rails的4.2.0,1.6.3薄,Windows 7的-PRO-64-SP1

我所做的:使用自簽名證書我嘗試啓動服務器:

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

問題是什麼:我收到以下錯誤:

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. 

我的問題給你:你知道它是否是Windows上的一個普遍問題(因此我甚至不認爲要成功做到這一點),還是有一種方法可以讓Windows在ssl上進行精簡的工作?

+1

在_normal_部署,您將擁有的薄前面的Web服務器,這將終止SSL,和瘦身不必擔心。在Windows上部署_不正常_並且通常被認爲是不好的做法(儘管有些人反正這麼做)。即使如此,您仍然可以在Windows上將簡單的Web服務器放在精簡版之前。 – 2015-05-09 18:41:07

回答

3

這是一個重複:Install OpenSSL with Ruby for eventmachine on Windows 7 x86

我會把相同的答案有:使用rubyinstaller-2.1.6.exe,

的devkit-mingw64-32-4.7.2-20130224-1151- sfx.exe和OpenSSL在C(http://slproweb.com/download/Win32OpenSSL-1_0_2c.exe或更新版本):

Encryption not available on this event-machine 
012:\ OpenSSL的

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

成功,但然後運行薄帶SSL在通常的方式失敗

您可以在上面看到如何將參數傳遞給應該可以幫助您的原生gem設置。我們仍然需要找到一組可以正確構建事物的參數。

如何使

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

一個是...?

後挖我已經修補EventMachine的正確搜索SSL庫的窗口,以便在Gemfile中使用以下行之前更改合併半天:

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

安裝包中指定SSL的位置之前(它必須與開發商頭/庫完整版本的SSL)

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

我還需要使自己瘦未激活另一EventMachine的所以需要在Gemfile中另一行:

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

不幸的是我使用非自簽名的證書時,還是有問題: thin rails server/eventmachine on windows does not work with custom certificate(結案 - 錯CERT)