Запуск Ruby 1.9.3, Rails 4.2.10 и использование Тонкого сервера в разработке.
Мое приложение использует SSL на Heroku.Необходимо запустить SSL на моем локальном Mac.
Я следовал этому руководству.
https://www.botreetechnologies.com/blog/enable-ssl-for-rails-development-environment-two-minutes
Вот мой Procfile:
web: bundle exec rails server thin start -p 3001 -e development --ssl --ssl-verify --ssl-key-file server.key --ssl-cert-file server.crt
Здесьэто ошибка, которую я получил в трассировке
Invalid request: Invalid HTTP format, parsing fails.
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/request.rb:84:in `execute'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/request.rb:84:in `parse'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/connection.rb:39:in `receive_data'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run_machine'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/backends/base.rb:73:in `start'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/server.rb:162:in `start'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/rack-1.6.4/lib/rack/handler/thin.rb:19:in `run'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/rack-1.6.4/lib/rack/server.rb:286:in `start'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands/server.rb:80:in `start'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:80:in `block in server'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:75:in `tap'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:75:in `server'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
script/rails:6:in `require'
script/rails:6:in `<main>'
ОБНОВЛЕНИЕ:
Хотя мой procfile содержит информацию о сертификате.Я вручную запускаю свой сервер THIN rails через терминал, как этот.
bundle exec rails server thin start -p 3001 -e development
Поэтому не уверен, что он использует Procfile?
ОБНОВЛЕНИЕ 2 ========
Пытался использовать bundle exec thin start -p 3001 --ssl
Если для force_ssl установлено значение false
Сервер запускается
jn$ bundle exec thin start -p 3001 --ssl
/Users/jn/.rbenv/versions/1.9.3-p551/lib/ruby/gems/1.9.1/gems/thin-1.6.4/lib/thin/backends/base.rb:103: warning: epoll is not supported on this platform
Using rack adapter
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3001, CTRL+C to stop
Попробуйте нажать https://localhost:3001 и сервер остановится с ошибкой
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: Encryption not available on this event-machine
Abort trap: 6
===== ОБНОВЛЕНИЕ 3: ======
Попытка Puma.io не удалась та же проблема (не удается установить безопасное соединение).Попытка Puma-dev не смогла даже распознать .dev URl Попытка ручного добавления сертификата и ключа снова та же проблема (не удается установить безопасное соединение).
Приложение загружает форму для входа в приложение в http://localhost:3000. Как толькоЯ захожу в приложение, которое загружает правильную страницу учетной записи пользователя, используя http, затем примерно через 1 секунду страница перенаправляется на ту же страницу учетной записи пользователя, но https, которая говорит: «Не удается установить безопасное соединение».Понятия не имею, почему браузер заставляет меня https?Ничто в приложении не настроено на https, чтобы я мог "Найти / Заменить".
Сгенерировал новый secret_key, так как думаю, что он был коротким 20 символами вместо 30. Вставлен в перезапущенный сервер secret_key.rb.Тот же вопрос ssl.