Как вы тестируете HTTPS с помощью скрипта / сервера Rails? - PullRequest
9 голосов
/ 16 января 2009

Мне нужно проверить HTTPS-соединения с моим локальным экземпляром скрипта / сервера Rails, который находится в разработке, он не поддерживается, и я не смог найти ни одного решения Google.

Вот как это выглядит с точки зрения клиента:

ted@teflon-ted ~/Downloads[master]$ grep tedslaptop /etc/hosts
127.0.0.1   api.tedslaptop.com
ted@teflon-ted ~/Downloads[master]$ /usr/bin/curl https://api.tedslaptop.com:3000/
curl: (35) Unknown SSL protocol error in connection to api.tedslaptop.com:3000 

А вот что я вижу на сервере:

$ script/server 
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.2.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).
** Rails signals registered.  HUP => reload (without restart).  It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:3000
** Use CTRL-C to stop.
Fri Jan 16 13:06:50 -0500 2009: HTTP parse error, malformed request (127.0.0.1): #
Fri Jan 16 13:06:50 -0500 2009: REQUEST DATA: "\200d\001\003\001\000K\000\000\000\020\000\0009\000\0008\000\0005\000\000\026\000\000\023\000\000\n\a\000?\0003\000\0002\000\000/\003\000\200\000\000\005\000\000\004\001\000\200\000\000\025\000\000\022\000\000\t\006\000@\000\000\024\000\000\021\000\000\b\000\000\006\004\000\200\000\000\003\002\000\200xa\377\\?wEM??/\235F\020\232"
---
PARAMS: {}
---

1 Ответ

14 голосов
/ 17 января 2009

HTTPS - это то, что обрабатывается вне платформы Rails. Поэтому вы не можете проверить это напрямую. Функциональные возможности, которые предоставляет ваше Rails-приложение, должны быть точно такими же в HTTPS, как и в незашифрованном HTTP.

скрипт / сервер использует Mongrel для обслуживания ваших запросов. Mongrel не поддерживает SSL / HTTPS напрямую.

Если вы действительно хотите протестировать функциональность HTTPS, вам необходимо настроить Apache (или другой веб-сервер) с поддержкой SSL / HTTPS (используя mod_ssl) и настроить его для запуска приложения Rails (используя mod_rails или mod_proxy).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...