2013-04-17 37 views
6

我只找到了如何start puma using SSL如何使用Puma配置Rails以使用SSL?

$ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'

然而,沒有關於如何將文檔中的中間CA證書的說明。有人能指出我正確的方向嗎?我正在使用Puma 1.6.3

謝謝!

+0

@Smartis感謝您的編輯!我正在考慮關閉和/或甚至刪除這個問題,因爲它有點...冗餘和奇怪的具體?思考? – omninonsense

回答

7

僅當您使用nginx時,合併證書和綁定才能使用。

沒有nginx的,你可以使用caverify_mode選項:

rails s puma -b 'ssl://0.0.0.0:9292?key=path_to_key.key&cert=path_to_cert.crt&verify_mode=none&ca=path_to_root_bundle.crt'

來源:https://github.com/puma/puma/blob/master/lib/puma/binder.rb

+0

這似乎也不起作用。 – Susan

+1

根捆綁的路徑?那是什麼呀? – IIllIIll

-4

它可能是一個更好的主意,用Phusion Passenger + Nginx的支持SSL。這個組合具有廣泛可用的文檔,並且非常容易設置,因爲它是當前最受歡迎的應用服務器選擇,並且被諸如紐約時報,賽門鐵克,AirBnB等使用。以下是如何使用Nginx以及Phusion Passenger安裝:

server { 
    listen 443; 
    server_name yourapp.local; 
    ssl on; 
    ssl_certificate ...; 
    ssl_key ...; 
    root /path-to-your-app/public; 
    passenger_enabled on; 
} 
+0

DV不回答問題。 – LAW

+1

它可能不是您正在尋找的答案,但它是一個有效的答案。如果某些事情不起作用,那麼最好查看替代方案。 – Hongli

+8

問題是「如何使用Puma配置Rails來使用SSL?」。我沒有看到如何解釋一個Phusion乘客設置,即使遠程回答。我認爲OP知道各種服務器的選擇,並且出於任何原因選擇了Puma,就像當我發現這個問題時一樣。關於彪馬已經有了很好的說法,我特別想讓它運作起來,以便我可以測試它。所以不,你告訴我去使用別的東西根本沒有幫助。 – LAW

3

而我們也使用組合Nginx + PhusionPassenger。你不能在nginx中指定鏈式證書文件。訣竅是將所有證書捆綁在一個證書中,然後將新的證書文件設置爲服務器配置中的證書。您可以在nginx documentation中找到更多信息。檢查SLL證書鏈部分。

cat www.example.com.crt bundle.crt > www.example.com.chained.crt 

希望它有幫助。

+0

附加中間證書在Puma中似乎不起作用。 – Susan

2

rails s puma -b 'ssl://0.0.0.0:9292?key=certkey.key&cert=cert.crt&verify_mode=peer&ca=root_bundle.crt

只要確保你設置的verify_mode=peer