スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RailsでProxy経由の接続で本当のIPアドレスを取得する

WAFなどのプロキシーを通した時にRailsでは発信元のIPを取得することができなくなります。
その対応方法です。

プロキシーのIPアドレスを
1.2.3.4
5.6.7.8
の2つとします。
またAWSのELBではプライベートアドレスで接続してくるので、それも追加しています。

まず、nginxがRailsの前にいる場合はそれから設定します。

set_real_ip_from 10.0.0.0/8;
set_real_ip_from 172.16.0.0/12;
set_real_ip_from 192.168.0.0/16;
set_real_ip_from 127.0.0.1/32;
set_real_ip_from 1.2.3.4/32;
set_real_ip_from 5.6.7.8/32;
real_ip_header X-Forwarded-For;

次にRails側です。
vi config/application.rb
config.action_dispatch.trusted_proxies = /(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)|(1\.2\.3\.4)|(5\.6\.7\.8)/

RailsではIPアドレスの正規表現で設定します。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。