読者です 読者をやめる 読者になる 読者になる

Cloudflare で DNS 登録したリクエストのIPアドレスがカンマ区切りになる

Rails Ruby Cloudflare

heroku + Rails5でアプリケーションを開発し、リクエストを受ける前段に Cloudflare を利用している。
Cloudflare は DNS, Crypto で SSL, CDN の設定を利用している。

しかし、 Cloudflare を使い始めたからか IPアドレスが validation エラーになってしまった。

デバッグして中身を見ていると、IP アドレスが以下のようになっていた。(前半の IP は書き換えてる)

p ip_address = request.env['HTTP_X_FORWARDED_FOR'] || request.remote_ip
# => "100.10.10.150, 103.22.200.116"

カンマの前半が実際のユーザの IP アドレスで、後半が Cloudflare の IP アドレスっぽい。
103.22.200.116 - Japan - Cloudflare - IP address location and data

ユーザの IP アドレスを取得したかったら ip_address.split(",")[0] でいけると思うけど、だいぶ不安だ...。