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

Использование тонкого веб-сервера с HTTP и HTTPS

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

  • Запуск сервера с помощью thin start служит для запросов http.
  • Запуск сервера с помощью thin start --ssl обслуживает запросы https.

Есть ли способ, чтобы thin одновременно обслуживал запросы http и https?

Я спрашиваю, потому что, когда я использую redirect_to some_path в моих контроллерах, они перенаправляются на http. Поскольку thin обслуживает запросы https, ничего не отображается.

Примечание. Я использую Rack::SSL в Rails 3.0.7.

4b9b3361

Ответ 1

(Комментарий преобразован для ответа в соответствии с запросом.)

Самый простой вариант - это, вероятно, запустить два отдельных экземпляра тонких: один принимает запросы SSL и один принимает запросы открытого текста. Любая причина, по которой вы не хотите этого делать? (В качестве альтернативы, если тонкий работает за другим веб-сервером, например Apache или Nginx, вам нужен только один экземпляр тонкого интерфейса: внешний сервер может сообщить, прошел ли запрос через SSL.)

Вы не можете принимать соединения HTTP и HTTPS на одном и том же порту. (Вот почему по умолчанию протокол HTTP работает на порту 80, тогда как HTTPS работает на порту 443.)

Ответ 2

вы можете использовать мастер (https://github.com/ddollar/foreman);

Вы создаете файл Procfile с 2-мя процессами, затем запустите команду forman start.

поместите это в файл с именем Procfile:

web: thin start
ssl: thin start --ssl

Затем используйте foreman start, и он начнет процесс 2. Вот как я использую... надеюсь, это поможет вам!