ひよっこエンジニアの雑多な日記

なんとかWeb系のエンジニアをやっています。

【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に設定すればいけるって感じっぽいですね!

さいごに

最近開発のモチベはあるものの、その他雑務のせいでモチベが削られるという微妙な状態になっている…