3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails + NginxをSSL化

Last updated at Posted at 2019-01-31

ssl化対応した際に、つまずいたので、メモ

InvalidAuthenticityToken エラーが発生

証明書をELBに設定後以下のエラーが発生。
ちなみにローカル環境では起きなかったので、nginx周りの設定がおかしいのかな思いました。

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)

手順通りnginx.confを編集

nginx.conf
   server {
       listen 443 ssl; # 追記
       # :
       # :
        location @advice_api {
              # :
            proxy_set_header Host $host; # 追記
            proxy_set_header X-Forwarded-Proto $scheme; # 追記
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 追記
        }
   }

が、エラーは変わらず発生

ELBを使っている場合、sslの終端がelbになる

ということに調べているとわかりました。

nginx.conf
            proxy_set_header X-Forwarded-Proto $scheme;

を以下のように書き換えました。

nginx.conf
            proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;

エラーも無事解消されました。

$http_x_forwarded_protoを使うとnginx側でELBへの接続に使用したプロトコルを判別できるっぽいです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?