我有一個在Heroku中運行的Ruby on Rails服務器,我一直在嘗試添加SSL以與應用客戶端進行通信,這些應用客戶端是用Android開發的。Heroku不驗證證書請求,爲什麼?
我創建了一個self-signed certificate,如Heroku的網站上所解釋的,並添加了終點爲this Heroku's tutorial suggests。一切看起來都很完美,我測試了證書,它也起作用。爲了強制服務器重定向到https協議,我添加了'rack-ssl-enforcer'gem。
問題是,當在頭/負載(REST控制檯或curl)中使用沒有證書的任何服務器路由時,我想到ruby服務器應該拒絕請求,只有當請求具有有效證書時才允許。但是,它返回與項目中沒有SSL協議時相同的值。
我需要配置更多嗎?這是爲什麼發生?
的「需要‘機架/ SSL’」的工作,但「config.middleware.use機架:: SSL」不因爲工作機架-SSL-強制我已經用「config.middleware.use機架: :SslEnforcer」。在Heroku中仍存在同樣的問題,但運行「rails s -e production」瀏覽器提出:「SSL連接錯誤無法與服務器建立安全連接。這可能是服務器的問題,或者可能需要客戶端您沒有的身份驗證證書。「我試過:curl --cert server.crt「https:// localhost:3000」,我收到了:無法設置私鑰文件:'server.crt'type PEM。任何想法? – hugalves 2013-05-06 18:15:04