Yêu cầu thg 4 5, 2020 4:40 CH 1017 1 3
  • 1017 1 3
0

Lỗi missing `secret_key_base` khi deploy rails 6 lên aws

Chia sẻ
  • 1017 1 3

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!

3 CÂU TRẢ LỜI


Đã trả lời thg 4 5, 2020 11:20 CH
Đã được chấp nhận
+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ì đó?

Chia sẻ
Avatar Nam @Black.Box
thg 4 6, 2020 3:16 SA

@bs90 Mình đã chạy rồi, check biến ENV cũng đã tồn tại, k hiểu sao vẫn lỗi 😦((

thg 4 6, 2020 12:46 CH

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.

thg 4 6, 2020 12:51 CH

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 🤣

Đã trả lời thg 4 5, 2020 10:49 CH
+1

bạn chạy theo lệnh này chưa?

rails credentials:edit
Chia sẻ
Avatar Nam @Black.Box
thg 4 6, 2020 3:17 SA

Mình chạy rồi bạn ạ

Đã trả lời thg 7 6, 2020 12:16 CH
0

Tớ cũng bị lỗi này không biết bạn fix đc chưa

Chia sẻ