Наши разработчики используют HTTP, prod использует HTTPS, это вызывает проблемы, которые мы не можем воспроизвести локально, связанные с HTTPS.
Как я могу запускать рельсы с SSL локально для целей тестирования? Есть ли конфиг Webrick?
Спасибо
Вы должны использовать тонкий , чтобы сделать это:
$ sudo apt-get install thin
И добавьте эту строку в config / application.rb
config.force_ssl = true
Затем запустите приложение на тонкий с командной строкой:
$ thin start --ssl
Я думаю, что вопрос здесь специфичен для среды тестирования 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
В конечном счете, вы должны начать разработку без SSL, точка. Если с вашим сертификатом SSL что-то не так, у вас не должно быть ошибок, которые не зависят от различных сред.
На этапе подготовки вы должны протестировать инфраструктуру SSL.