Использование тонкого веб-сервера с 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
,
2 ответа
(Комментарий преобразуется в ответ по запросу.)
Простейшим вариантом, вероятно, является запуск двух отдельных экземпляров thin: один принимает запросы SSL и один принимает запросы открытого текста. По какой причине ты не хочешь этого делать? (В качестве альтернативы, если thin работает за другим веб-сервером, таким как Apache или Nginx, вам нужен только один экземпляр thin: внешний сервер может сообщать, поступил ли запрос через SSL.)
Вы не можете принимать соединения HTTP и HTTPS на одном и том же порту. (Вот почему по умолчанию HTTP работает на порте 80, а HTTPS - на порту 443.)
Вы можете использовать мастера (https://github.com/ddollar/foreman);
Вы создаете Procfile с 2 процессами, а затем начинаете с forman start
команда.
поместите это в файл с именем Procfile
:
web: thin start
ssl: thin start --ssl
Тогда используйте foreman start
и он начал 2 процесса. Вот как я использую... надеюсь, это поможет вам!