0
Lỗi missing `secret_key_base` khi deploy rails 6 lên aws
E deploy rails 6 lên aws thì gặp lỗi này
ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit`
E đã tạo file credentials.yml.enc
trong shared/config hoặc cũng đã thử set biến môi trường này trong application.rb nhưng k đc
config.secret_key_base = ENV['SECRET_KEY_BASE']
Ai có giải pháp chỉ giúp e với ạ. Thanks!
Thêm một bình luận
3 CÂU TRẢ LỜI
+3
Bạn đã tạo và set biến SECRET_KEY_BASE trên production (aws ec2?) chưa?
RAILS_ENV=production rake secret
để tạo ra secret key
Sau đó set
export SECRET_KEY_BASE=secret key
vào trong .bash_profile
hay .profile
gì đó?
Có khi nào bạn thiếu thế này không?
config.secret_key_base = <%= ENV['SECRET_KEY_BASE'] %>
Nếu y nguyên như bạn bên trên thì cái secret_key_base
nó chỉ là cái string "ENV['SECRET_KEY_BASE']"
thôi.
Còn nếu vẫn không phải thì bạn thử tạo hẳn file /config/secrets.yml
(không có .enc gì nữa) kiểu thế này xem
development:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
test:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Không được nữa thì chịu
Mình chạy rồi bạn ạ