Railsでは、サーバーに接続しているクライアントのIPアドレスを取得する最良の方法は何ですか?
ここに私が見つけた2つの方法があります:
request.remote_ip
request.env['HTTP_X_REAL_IP']
シンプルで機能するrequest.remote_ip
を使用します。別の方法が必要な理由は何ですか?
以下を参照してください。 ローカルRails開発環境で実際のIPアドレスを取得 クライアントサーバーIPで実行できる他のいくつかのことについて。
request.remote_ip
は、利用可能なすべてのIPアドレス情報の解釈であり、最善の推測を行います。変数に直接アクセスする場合、正しい優先順位で変数をテストする責任があります。プロキシは、異なる名前の環境変数を作成するいくつかのヘッダーを導入します。
コマンドを使用してクライアントIPを取得します。
request.remote_ip
新しいRailsとDevise gemに興味を持ち、使用している場合:Deviseの「追跡可能な」オプションには、usersテーブルにcurrent/last_sign_in_ipの列が含まれます。
request.env['HTTP_X_FORWARDED_FOR']
がrequest.remote_ip
を返す場合にも、127.0.0.1
が非常に役立つことがわかりました。