Reputation: 75
I'm having a good bit of trouble deploying my React on Rails App to Heroku. I have read and attempted countless posts on how to fix the secret_key_base and rails_master_key issues:
ActiveSupport::MessageEncryptor::InvalidMessage
Running a rails server in production locally (InvalidMessage error)
Not having any luck with any of these and there seems to be a good bit of debate over a lot of practices used to fix these issues (judging by the answers I've read).
Here's the error I'm getting in my Heroku logs:
2019-10-23T15:27:31.187947+00:00 app[web.1]: 2019-10-23 15:27:31 +0000: Rack app error handling request { GET / }
2019-10-23T15:27:31.18796+00:00 app[web.1]: #<ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage>
2019-10-23T15:27:31.187962+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt'
2019-10-23T15:27:31.187964+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:184:in `_decrypt'
2019-10-23T15:27:31.187966+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
2019-10-23T15:27:31.187968+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
2019-10-23T15:27:31.187971+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:44:in `decrypt'
2019-10-23T15:27:31.187973+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:81:in `preprocess'
2019-10-23T15:27:31.187975+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:29:in `block in parse'
2019-10-23T15:27:31.187977+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `each'
2019-10-23T15:27:31.187979+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `each_with_object'
2019-10-23T15:27:31.187981+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `parse'
2019-10-23T15:27:31.187983+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:399:in `secrets'
2019-10-23T15:27:31.187985+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:252:in `env_config'
2019-10-23T15:27:31.187987+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/engine.rb:706:in `build_request'
2019-10-23T15:27:31.18799+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:608:in `build_request'
2019-10-23T15:27:31.187992+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/engine.rb:523:in `call'
2019-10-23T15:27:31.187994+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/configuration.rb:227:in `call'
2019-10-23T15:27:31.187996+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:660:in `handle_request'
2019-10-23T15:27:31.187997+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:474:in `process_client'
2019-10-23T15:27:31.187999+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:334:in `block in run'
2019-10-23T15:27:31.188001+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/thread_pool.rb:135:in `block in spawn_thread'
2019-10-23T15:27:31.447079+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=glacial-woodland-16769.herokuapp.com request_id=922c9b94-3b2b-43fd-9cec-b5eb2d78e21f fwd="8.20.20.246" dyno=web.1 connect=1ms service=16ms status=500 bytes=154 protocol=https
2019-10-23T15:27:31.445658+00:00 app[web.1]: 2019-10-23 15:27:31 +0000: Rack app error handling request { GET /favicon.ico }
2019-10-23T15:27:31.445671+00:00 app[web.1]: #<ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage>
2019-10-23T15:27:31.445673+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt'
2019-10-23T15:27:31.445675+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:184:in `_decrypt'
2019-10-23T15:27:31.445677+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
2019-10-23T15:27:31.445679+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.3/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
2019-10-23T15:27:31.445681+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:44:in `decrypt'
2019-10-23T15:27:31.445683+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:81:in `preprocess'
2019-10-23T15:27:31.445685+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:29:in `block in parse'
2019-10-23T15:27:31.445687+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `each'
2019-10-23T15:27:31.445688+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `each_with_object'
2019-10-23T15:27:31.44569+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/secrets.rb:26:in `parse'
2019-10-23T15:27:31.445693+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:399:in `secrets'
2019-10-23T15:27:31.445695+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:252:in `env_config'
2019-10-23T15:27:31.445697+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/engine.rb:706:in `build_request'
2019-10-23T15:27:31.445699+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/application.rb:608:in `build_request'
2019-10-23T15:27:31.445701+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/railties-5.2.3/lib/rails/engine.rb:523:in `call'
2019-10-23T15:27:31.445703+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/configuration.rb:227:in `call'
2019-10-23T15:27:31.445705+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:660:in `handle_request'
2019-10-23T15:27:31.445707+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:474:in `process_client'
2019-10-23T15:27:31.445709+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/server.rb:334:in `block in run'
2019-10-23T15:27:31.446389+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/thread_pool.rb:135:in `block in spawn_thread'
Would appreciate any help and can provide any details I might have left out. I'm relatively new to Heroku so I might just be overlooking something obvious, and I apologize if that is the case!
Upvotes: 3
Views: 6435
Reputation: 467
In my case I was using an old outdated master key
What I did is removing config/credentials.yml.enc
then updating my config/master.key
with the new key then ran EDITOR="vim" rails credentials:edit
and it was all good
Upvotes: 1
Reputation: 21577
$ rm config/credentials.yml.enc
$ EDITOR="vim" bundle exec rails credentials:edit
then try again
Upvotes: 0
Reputation: 666
IN my case we had a multi-environment credentials setup.
One for development, staging, and production.
The master.key works for the main
credentials.yml file
The other environments have there own key, so for staging we used the staging.key
in the
RAILS_MASTER_KEY ON heroku.
For normal use try the following :
copy data from credentails.yml file delete credentials.yml and master.key
Use Editor='code --wait' rails credentails:edit
relplace code with your editor name.
paste credentails data in credentails file.
Upvotes: 4