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

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

Chia sẻ
  • 980 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ẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí