1

저는 레일스에서 ​​새로 왔으며 현재 Amazon Web Services에 코드를 제공하고 있습니다. 내가 알고 싶습니다, 귀하의 응용 프로그램의 모든 기능을 온라인으로 작동 할 수 있지만 귀하의 개인 키를 노출하지 않도록 열쇠를 숨기거나 암호화하는 가장 좋은 방법은 무엇입니까 (예 : Mandrill)?프로덕션 레일의 키 숨기기 4

지금까지는 개발 중에 내 키를 내 bash 프로필에 저장하고 로컬에서 정상적으로 작동합니다.

조언 해 주셔서 감사합니다.

+0

heroku를 사용하는 경우 http://stackoverflow.com/questions/6113042/where-to-store-sensitive-data-in-public-rails-app –

+0

의 중복을 선택한 다음 문서에 따라 ENV에 키를 추가하십시오. 영웅이 아니라면 ssh 키를 사용하고 ENV를 사용하십시오. – argentum47

+1

사실, Heroku에 더 집중하고 AWS에 대해 언급 할 때 질문이 약간 다르다고 생각합니다. 위에서 언급했듯이 내 사이트는 Amazon Web Services에 게시 될 예정이며 지금은 맨드릴이 필요하므로 이러한 키를 보호하는 방법을 알지 못합니다. 감사. – nyhunter77

답변

1

그래서, 나는 피가로의 보석을 사용하여 생각하지만 난 sstephenson에 의해 rbenv - 바르를 사용하여 종료 : https://github.com/sstephenson/rbenv-vars

On the Amazon Server, I made a directory: 
$ mkdir -p ~/.rbenv/plugins 
$ cd ~/.rbenv/plugins 
$ git clone https://github.com/sstephenson/rbenv-vars.git 
$ rbenv rehash 

Then, on the AWS server, I used vim to create a file: 
$ vim .rbenv-vars 
$ rake secret in your project directory to get a SECRET_KEY_BASE=place key here 

는 다음 나는 .gitignore이 .rbenv - 바르를 추가했다. 물론이 키를 Github에 보내지 않으려 고합니다.

이 파일에서 서버에있는 보안 키를 배치하여 작업을 수행 할 수도 있습니다.

0

일반적으로 environment variables을 설정하는 것이 좋습니다. Heroku를 사용한 적이 있다면 설정 패널에 Heroku가 있음을 알 수 있습니다.

config/secrets.yml에서 config/secrets.yml에는 키를 설정하는 기본 방법이 env var로 지정되어 있습니다 (일부 erb <%= ... %> 코드가 있음). 키워드를 분명히 변경할 수 있습니다.

터미널을 다시 시작할 때마다 값을 설정하려면 rake secret RAILS_ENV=production 명령의 값을 .bash_aliases (linux에만 있음) 파일이나 쉘 시작시 호출되는 다른 스크립트에 저장할 수 있습니다.

해당 파일에 export KEYWORD='whatever the value is'을 입력하십시오.

printenv KEYWORD을 입력하면 KEYWORD이라는 이름의 env var에 저장된 값을 볼 수 있습니다.