我只找到了如何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
謝謝!
我只找到了如何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
謝謝!
僅當您使用nginx時,合併證書和綁定才能使用。
沒有nginx的,你可以使用ca
和verify_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
它可能是一個更好的主意,用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;
}
而我們也使用組合Nginx + PhusionPassenger。你不能在nginx中指定鏈式證書文件。訣竅是將所有證書捆綁在一個證書中,然後將新的證書文件設置爲服務器配置中的證書。您可以在nginx documentation中找到更多信息。檢查SLL證書鏈部分。
cat www.example.com.crt bundle.crt > www.example.com.chained.crt
希望它有幫助。
附加中間證書在Puma中似乎不起作用。 – Susan
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
。
@Smartis感謝您的編輯!我正在考慮關閉和/或甚至刪除這個問題,因爲它有點...冗餘和奇怪的具體?思考? – omninonsense