ruby 2.1.3
Rails 4.2.3
ローカルでのPCはmac
sakuraはVPSのcentos
nginx1.8.0
unicorn
プログラム初心者になります。
現在amazon apiを使ったアプリ構築しており、環境変数にamazonapiのkeyなどを入れて動かしたいと考えております。
直接設定では動く前提でお考え下さいませ。
↓この状態では問題なくサイトは稼働します。
:associate_tag => 'hogehoge', :AWS_access_key_id => 'AIUEOKAKIKUKEKO', :AWS_secret_key => 'SASISUSESONANINUENOWARAWO'
↓以下の状態ですとエラーとなります。
gem 'dotenv-rails'のインストール
.envの新規作成 場所はアプリフォルダの一番上になります。 amazonapp/.env
:associate_tag => 'hogehoge', :AWS_access_key_id => '<%= ENV["AMAZON_KEY_ID"] %>', :AWS_secret_key => '<%= ENV["AMAZON_SECRET_KEY"] %>'
.env
AMAZON_KEY_ID = 'AIUEOKAKIKUKEKO' AMAZON_SECRET_KEY = 'SASISUSESONANINUENOWARAWO'
rails cで確認
[1] pry(main)> require 'dotenv' => false [2] pry(main)> Dotenv.load => { "AMAZON_KEY_ID"=>"AIUEOKAKIKUKEKO", "AMAZON_SECRET_KEY"=>"SASISUSESONANINUENOWARAWO"} [3] pry(main)> puts ENV['AMAZON_KEY_ID'] AIUEOKAKIKUKEKO => nil [4] pry(main)> puts ENV["AMAZON_SECRET_KEY"] SASISUSESONANINUENOWARAWO => nil
サーバログ 直接書いている場合。(うまく可能している場合です)
Request URL: http://ecs.amazonaws.jp/onca/xml? AWSAccessKeyId=AIUEOKAKIKUKEKO& AssociateTag=hogehoge&Keywords=iphone&Operation=ItemSearch&ResponseGroup=Large&SearchIndex=All&Timestamp=2015-10-02Txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.... Rendered keyword/create.html.erb within layouts/application (50.0ms) Completed 200 OK in 12409ms (Views: 187.2ms | ActiveRecord: 24.0ms)
サーバログ .envで設定している場合 (エラーが出ます)
Request URL: http://ecs.amazonaws.jp/onca/xml? AWSAccessKeyId=%3A%3A%3A%3A%3A%3A%3A AMAZON_KEY_ID%22%22%22%22%22& AssociateTag=hogehoge&Keywords=iphone&Operation=ItemSearch&ResponseGroup=Large&SearchIndex=All&Timestamp=2015-10-02Txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..... Completed 500 Internal Server Error in 983ms (ActiveRecord: 19.4ms) Amazon::RequestError (HTTP Response: 403 Forbidden): app/controllers/keyword_controller.rb:11:in `create'
.envからの読み込みで文字が変わってしまっているのが原因かと考えているのですが、どの様に修正したらいいのかが分かりません。。。
ココらへんに追加又は参考になるようなブログ等御座いましたらお力をお借りできれば幸いです。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/05 06:01