Назад | Перейти на главную страницу

Помощь SSL / HTTPS касаемо Mongrel?

Я искал повсюду и либо ничего не могу найти, либо не могу найти ничего, что работает ... так что я здесь.

Как я могу настроить SSL / HTTPS в отношении Mongrel?

Заранее спасибо!

Конечно, следует отметить, что Mongrel просто "не делает" SSL сам.

Сначала вы запускаете его через настоящий веб-сервер, такой как nginx или Apache, который выполняет SSL-работу за вас, а затем возвращает заголовок, сообщающий, было ли соединение выполнено через SSL (это важно, только если вы выполняете такие действия, как перенаправление, если доступ к странице, требующей защиты, был осуществлен без SSL).

Теоретически, я думаю, вы могли бы воткнуть станнель перед дворнягой и сделать это таким образом, но причины не делать этого огромны и страшны, так что просто не делайте этого.

Некоторое время я боролся с этим. Монгрел предпочитает «Рубиновый путь», который отличается от пути апачей.

Настройте Apache HTTP для обслуживания трафика HTTPS. Затем проксируйте соединения открытого текста / HTTP на бэкэнд.

  1. Установите mod_proxy. Мне действительно пришлось перекомпилировать httpd, чтобы включить поддержку прокси.

    LoadModule модули proxy_module / mod_proxy.so

    LoadModule модули proxy_http_module / mod_proxy_http.so

    LoadModule модули proxy_connect_module / mod_proxy_connect.so

  2. Используйте параметр [proxy] mod_rewrite, чтобы перезаписать весь трафик на хост Mongrel. Мой хост - это VirtualHost с именем вроде ruby.example.org.

    RewriteRule ^ / (. *) http://127.0.0.1:3000/$ 1 [прокси]

  3. Ограничьте доступ к прокси. См. Httpd.apache.org/docs/2.2/mod/mod_proxy.html#access


    <Proxy *>
 Order Deny,Allow
 Deny from all
 # Restrict access from my local network
 Allow from 192.168.0
    </Proxy>