Плагин Rails SSL Requirement - разве он не должен проверять, находитесь ли вы в рабочем режиме, прежде чем перенаправлять на https? - PullRequest
4 голосов
/ 19 сентября 2008

Взгляните на плагин ssl_requirement.

Разве это не должно проверять, находитесь ли вы в производственном режиме? Мы видим перенаправление на https в режиме разработки, что кажется странным. Или это нормальное поведение для плагина? Я думал, что в прошлом он вел себя по-другому.

Ответы [ 5 ]

6 голосов
/ 19 сентября 2008

Полагаю, они считают, что вам следует использовать HTTPS (возможно, с самозаверяющим сертификатом) в режиме разработки. Если это нежелательное поведение, то ничто не мешает вам использовать специальный режим SSL в среде разработки:

class YourController < ApplicationController
  ssl_required :update unless Rails.env.development?
end
4 голосов
/ 20 марта 2010
  def ssl_required?
    return false if local_request? || RAILS_ENV == 'test' || RAILS_ENV == 'development'
    super
  end
0 голосов
/ 16 июля 2011

фактически, переадресация через https является обязанностью веб-сервера. Добавление дополнительной проверки хэша запроса для каждого запроса в Rails - это накладные расходы IMHO. Я написал nginx config , который включает следующее переписывание:

переписать ^ (. *) https://$host$1 постоянный;

0 голосов
/ 28 января 2010

Нет особого смысла требовать SSL в среде разработки.

Вы можете отключить плагины ssl_required? методом с использованием встроенных в Rails средств Mocking.

В корневом каталоге вашего приложения создайте файл test / mocks / development / application.rb

require 'controllers/application_controller'

class ApplicationController < ActionController::Base
  def ssl_required?
    false
  end
end

Таким образом, SSL никогда не требуется в среде разработки.

0 голосов
/ 14 декабря 2009

В идеале вы должны проверять, что ваше приложение перенаправляет на https на важных этапах.

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