Как вы запускаете Rails с HTTP локально для тестирования? - PullRequest
6 голосов
/ 23 декабря 2011

Наши разработчики используют HTTP, prod использует HTTPS, это вызывает проблемы, которые мы не можем воспроизвести локально, связанные с HTTPS.

Как я могу запускать рельсы с SSL локально для целей тестирования? Есть ли конфиг Webrick?

Спасибо

Ответы [ 3 ]

13 голосов
/ 06 мая 2013

Вы должны использовать тонкий , чтобы сделать это:

$ sudo apt-get install thin

И добавьте эту строку в config / application.rb

config.force_ssl = true

Затем запустите приложение на тонкий с командной строкой:

$ thin start --ssl
1 голос
/ 25 февраля 2018

Я думаю, что вопрос здесь специфичен для среды тестирования Rails, что может означать rspec, и если так, то этот гадж от jaikoo был тем, что сработало для меня:

https://gist.github.com/jaikoo/daf88024b8de1cf9339b

Что касается среды разработки, то в конечном итоге я использовал thin, который мне не очень-то нужен, но лучшей рецензией, которую я увидел, была эта статья Кейура Гохила:

https://blog.botreetechnologies.com/enable-ssl-in-developement-using-thin-2a4bd1af500d

Хотя я поместил его в пакетный файл, добавил -D -V и убедился, что он работает на другом порту:

#!
#  Sets up the use of SSL in development
#
# https://www.devmynd.com/blog/rails-local-development-https-using-self-signed-ssl-certificate/
#
bundle exec thin -D -V start -a localhost -p 3001 --ssl --ssl-key-file ~/development/apps/localhost_ssl_tsl_keys/localhost.key --ssl-cert-file ~/development/apps/localhost_ssl_tsl_keys/localhost.crt
0 голосов
/ 23 декабря 2011

В конечном счете, вы должны начать разработку без SSL, точка. Если с вашим сертификатом SSL что-то не так, у вас не должно быть ошибок, которые не зависят от различных сред.

На этапе подготовки вы должны протестировать инфраструктуру SSL.

...