HTTP情報について
X-Real-IPとは
Reverse Proxyが接続元IPとして設定することがあるHeaderを解説します。
更新日: 2026年10月9日
X-Real-IPは、Proxyが代表的なクライアントIP候補を後段へ渡すためによく使う非標準ヘッダーです。nginxなどの設定で付与されます。
何が分かるのか
通常は1つのIPアドレスが入りますが、何を設定するかはProxy管理者の設定次第です。標準化された一律の意味や、値の真正性が自動的に保証されるわけではありません。
NetKarteでの見方
HTTP情報カードの「転送ヘッダー」でX-Real-IP行を確認します。入力は不要で、受信値を自動表示します。管理下リバースプロキシの信頼境界を考慮してIP判定の候補にするため、表示されることと採用されることは別です。
注意点
クライアントが同名ヘッダーを直接送れる環境では偽装できます。Proxy側で既存値を上書きし、アプリケーションが信頼できる経路からだけ受信する構成が重要です。
X-Forwarded-Forとの違い
X-Forwarded-Forが複数段階の候補を並べることがあるのに対し、X-Real-IPは通常一つの候補を伝えます。「Real」という名前でも、他のヘッダーより本物だと証明されているわけではありません。Proxyが直前の接続元を設定すれば、中継自身のIPが入ることもあります。
NetKarteで使われたかを確認する
ネットワーク診断上部IPカードの「取得元」と採用されたIPを一緒に見てください。現在のNetKarteでは、転送情報を信頼する設定のもとでForwarded、X-Forwarded-For、X-Real-IPの順に候補を調べます。そのためX-Real-IPが表示されても、別の値が採用される場合があります。
二つのヘッダーが違う場合は、同じ意味の値を設定しているか管理者が確認する必要があります。利用者側で値を書き換えて一致させても、経路の正しさを確認したことにはなりません。
参考資料
- IETF / RFC Editor: RFC 7239: Forwarded HTTP Extension (外部サイト)確認日: 2026-10-09
- MDN Web Docs: X-Forwarded-For (外部サイト)確認日: 2026-10-09
- nginx: Module ngx_http_proxy_module (外部サイト)確認日: 2026-10-09