Отсутствуют "secret_token" и "secret_key_base" для "производственной" среды (Puma)
Я не понимаю, почему мои secret_token и secret_key_base не читаются Puma. Приложение разворачивается через Capistrano, Nginx и Puma.
secrets.yml
development:
secret_key_base: XXXXXXXXXXXXXXXXXX
secret_token: XXXXXXXXXXX
test:
secret_key_base: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
secret_token: <%= ENV["SECRET_TOKEN"] %>
Мой файл.gitignore не блокирует мой файл secrets.yml, но каждый раз, когда я пытаюсь подключиться к своему серверу, мне говорят An unhandled lowlevel error occurred. The application logs may have details.
И мой журнал приложений говорит мне, что я Missing 'secret_token' and 'secret_key_base' for 'production' environment
Полный журнал приложений
=== puma startup: 2016-04-05 07:00:04 -0400 ===
2016-04-05 07:00:09 -0400: Rack app error: #<RuntimeError: Missing `secret_token` and `secret_key_base` for 'production' environment, set these values in `config/secrets.yml`>
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:534:in `validate_secret_key_config!'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:246:in `env_config'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/engine.rb:514:in `call'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:165:in `call'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/configuration.rb:227:in `call'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/server.rb:561:in `handle_request'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/server.rb:406:in `process_client'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/server.rb:271:in `block in run'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/thread_pool.rb:111:in `call'
/home/deploy/apps/IASAS_site/shared/bundle/ruby/2.2.0/gems/puma-3.2.0/lib/puma/thread_pool.rb:111:in `block in spawn_thread'
Пожалуйста помоги!
1 ответ
Глядя на ваш файл конфигурации, ответ кажется вполне очевидным.
В производственных условиях Puma берет эти значения из двух переменных среды (SECRET_KEY_BASE и SECRET_TOKEN). Вам необходимо определить эти переменные среды на вашем производственном сервере.