【Nginx】ELBを通して認証用tokenをリクエストにのせる
一週間ぶりくらいの更新。週1では更新していくように勤めたい(手抜き記事だったとしても)
今回は完全に手抜き記事かつ備忘録
概要
今回Railsで簡単なToken認証をできるようにして無駄にAPIを叩かれないように対処したのですがEC2一台構成の環境では認証をパスすることができたものの、ELBを使って冗長な構成になっている環境ではうまく実行されなかった。
実行したかったのはAPIにリクエストをかけるような感じのcurl
curl https://example.com/api/v1/hoge -H 'Authorization: Token token' -X PUT
ELBを通してリクエストをかけるとAuthorization
の情報が抜け落ちてしまって認証が通らなくなっていた。
対応内容
NginxでリクエストヘッダーにAuthorizationの情報を乗せるようにすればうまくいきました。 設定は以下の感じ(locationのティレクティブに設定する感じ)
proxy_set_header Authorization $http_authorization;
一行入れれば解決でした。
$http_authorization
にリクエストに乗せたAuthorizationの情報が入っているのでそれをheaderに設定すればいけるって感じっぽいですね!
さいごに
最近開発のモチベはあるものの、その他雑務のせいでモチベが削られるという微妙な状態になっている…