Rack - это не веб-сервер, это интерфейс между веб-серверами (такими как Apache, nginx) и промежуточным ПО приложений.
Если вы хотите развернуть приложение Rails за SSL, это так же просто, как настроитьSSL в программном обеспечении вашего веб-сервера.В вашем приложении вы можете выполнять особые действия (например, заставлять страницы входа всегда использовать SSL), но они выходят за рамки самого развертывания.
Например, чтобы настроить SSL с Apacheи пассажир, вы просто настроите свой vhost так же, как настроите любой vhost с SSL:
<VirtualHost *:443>
RailsEnv production
PassengerRuby /opt/ruby-enterprise-1.8.6-20080810/bin/ruby
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /etc/certs/appname.crt
SSLCertificateKeyFile /etc/private/appname.key
SSLCertificateChainFile /etc/certs/CompanyIssuingCA1.crt
SSLProtocol all -SSLv2
DocumentRoot /var/www/rails/appname/public/
ErrorLog /var/www/rails/ccell/log/apache.log
<Directory /var/www/rails/appname/public/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Веб-сервер сам обрабатывает всю работу SSL до того, как он попадает в приложение.Rails (и Rack) не нужно ничего особенного для запуска по защищенному SSL-соединению;Вы просто указываете своим пользователям https://yourdomain.com, и это работает.
Если вам нужна помощь в установке сертификатов для вашего сервера, воспользуйтесь ссылками ниже: