Подтвердить что ты не робот

Как вы обрабатываете SSL в разработке?

У меня есть приложение, которое использует HTTPS для некоторых своих маршрутов в сочетании с плагином ssl_requirement. Он развернут и отлично работает в производстве.

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

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => 'https' }

В идеале я хотел бы иметь возможность запускать защищенные части моего приложения в разработке на Mongrel без каких-либо изменений. Как я могу это достичь? Я использую Mac OS X.

4b9b3361

Ответ 1

Не беспокойтесь о SSL в разработке

Для среды разработки, IMO, вам не нужно запускать SSL. Это не стоит времени или хлопот, тем более что все больше людей присоединяются к команде. Что касается ваших маршрутов, я бы просто сохранил протокол http в среде разработки:

protocol = Rails.env.development? ? "http" : "https"

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => protocol }

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

Ответ 2

По мере того, как ваши приложения с рельсами становятся более сложными, и вы хотите использовать расширенные функции, такие как SSL, лучше всего перейти на среду разработки, которая более точно соответствует вашей производственной среде. Это позволит вам создать свои собственные сертификаты SSL и протестировать таким образом, чтобы отразить то, как ваши пользователи будут использовать ваше приложение.

Я предлагаю перейти на тот же веб-сервер, который вы используете в производстве, о котором вы говорили, это apache/пассажир.

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