2013-04-17 1 views
6

я только нашел, как start puma using SSL:Как настроить Rails с помощью Puma для использования SSL?

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

Однако нет описания о том, как включить промежуточный CA сертификат в документации. Может ли кто-нибудь указать мне в правильном направлении? Я пользуюсь Puma 1.6.3

Thanks!

+0

@Smartis Спасибо за редактирование! Я собираюсь закрыть и/или удалить этот вопрос, потому что это немного ... Излишне и странно специфично? Мысли? – omninonsense

ответ

7

Сочетание сертификата и комплекта будет работать только в том случае, если вы используете 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

+0

Это тоже не работает. – Susan

+1

Путь к корневому пакету? Что это за фигня? – IIllIIll

-4

Возможно, лучше использовать Phusion Passenger + Nginx для поддержки SSL. Эта комбо имеет широко доступную документацию и очень проста в настройке, потому что в настоящее время она является самым популярным выбором сервера приложений и используется такими, как New York Times, Symantec, 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

Вопрос: «Как настроить Rails с помощью Puma для использования SSL?». Я не понимаю, как объяснить настройку Phusion Passenger даже дистанционно. Я полагаю, что OP знает о различных вариантах сервера и выбрал Puma по какой-то причине, так как я был, когда нашел этот вопрос. Были хорошие вещи, сказанные о Пуме, и я специально хотел, чтобы она работала, чтобы я мог ее протестировать. Так что нет, вы говорите мне, что я использую что-то другое, совсем не полезно. – LAW

3

, в то время как мы используем комбинированный Nginx + PhusionPassenger. Вы не можете указать файл cert в файле 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.