私はたくさん検索しましたが、解決策を見つけることができませんでした。私は試した:
Rails.logger.error request.remote_ip
Rails.logger.error request.env["REMOTE_ADDR"]
しかし、結果は何か変です:10.130.150.254
または10.130.150.251
.
携帯電話の LTE/4G ネットワークを使用してテストしたところ10.130.247.251
、クラス A の予約済みプライベート ネットワーク IP アドレスである が常に返されました。
私も試しました:
Rails.logger.error request.env["HTTP_X_FORWARDED_FOR"]
Rails.logger.error request.env["HTTP_X_REAL_IP"]
Rails.logger.error request.env["HTTP_X_CLUSTER_CLIENT_IP"]
しかし、それらは私に空の文字列を与えました。
携帯電話を使用して touch.whatsmyip.org をポイントする172.56.9.89
と、パブリック IP アドレスである: が表示されます。
HTTPS SSL ターミネーションとロード バランサーを使用します。おそらく、「Get Remote Host Client IP Behind Load Balancers (ELB)」のようになります。
クライアントの IP アドレスを取得するにはどうすればよいですか? クライアントがプロキシの背後にある場合は問題ありません。プロキシの IP アドレスも適切です。
アプリケーションを提供するために Apache と Passenger を使用しています。
「request.remote_ip」も同様の問題です。