2012-07-07 36 views
10

Có lẽ một câu trả lời rõ ràng cho câu hỏi này mà tôi không nghĩ tới. Tôi biết rằng dữ liệu nhạy cảm như thông tin đăng nhập an toàn được lưu trữ tốt nhất trên một dịch vụ như Heroku sử dụng biến môi trường qua CLI của Heroku với heroku config:add. Nhưng những gì về các tệp nhạy cảm, chẳng hạn như chứng chỉ? Cụ thể là tôi tự hỏi tôi nên làm gì với chứng chỉ của mình cho Apple Push Notifications (APN).Tôi nên lưu trữ các tệp nhạy cảm trên Heroku ở đâu?

Tôi đang thực hiện việc này khi mình thực hiện điều này vì the silence in response to this question dẫn tôi tin rằng không có nhiều lựa chọn thay thế tuyệt vời ở đó (và Urban Airship có vẻ quá đắt). Từ việc đi lang thang ở số APN on Rails, tôi thấy rằng họ thực sự lưu trữ chứng chỉ trong cơ sở dữ liệu. Điều đó có ý nghĩa? Hoặc nó sẽ có ý nghĩa để thực sự lưu trữ nội dung của chứng chỉ trong một biến môi trường (không chắc chắn nếu đó là thậm chí có thể)?

+0

hey bạn đã làm gì cuối cùng? – bogardon

Trả lời

3

Bạn có thể xem xét lưu trữ chứng chỉ trong S3 có thể được tải xuống theo từng quy trình lúc khởi động và được lưu trữ trong bộ nhớ (hoặc memcached/redis) để truy cập sau này.

Nếu bạn thực sự cảm thấy nó, bạn có thể xem xét việc tạo buildpack của riêng bạn mà tải xuống cert tại thời gian biên dịch sên và làm cho nó có sẵn trên hệ thống tệp sên.

6

Bạn có thể đặt toàn bộ chứng chỉ trong biến môi trường.

Xem câu trả lời này: Multi-line config variables in Heroku

+1

Vui lòng sử dụng cờ được sao chép trong tương lai khi bạn có đủ danh tiếng. – lpapp

0

tôi khuyên bạn nên tạo một kho lưu trữ riêng biệt có chứa các chứng chỉ, mà chỉ vòng tròn bên trong của bạn của các nhà phát triển có thể truy cập.

Để làm như vậy tại địa phương:

git clone myproject myprojectwithcerts

cd myprojectwithcerts

git add Heroku [email protected]/myproject

Sau đó, bạn có thể thêm bạn certs để "myprojectwithcerts", cam kết chúng, sau đó đẩy đến Heroku.

chủ git push Heroku

Khi thay đổi xảy ra trong myproject

chủ git pull gốc

Chừng nào chỉ vòng tròn bên trong của bạn của các nhà phát triển có thể truy cập Heroku để đẩy/kéo, chỉ họ mới có thể truy cập các tệp nhạy cảm của bạn.

0

Đối với tôi giải pháp tốt nhất là mã hóa khóa cá nhân trong chứng chỉ và lưu trữ mật khẩu để giải mã trong biến môi trường Herokus.

Các vấn đề liên quan