【解決方法】Dockerのnginx-proxyを経由するとアクセス元のIPが正しく取得できない件について

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
リバースプロキシを立てると、アクセス元の正しいIPが取得できなかったため 取得させるための設定をメモします。
環境
- CentOS 7.4
- Docker 18.03
概要
Dockerのnginx-proxyのコンテナをリバースプロキシとして設置し
それぞれのコンテナへ別々のホストを立てリクエストを振り分けました。
webブラウザからa.hoge.jp
へアクセスすると
アクセス元のIPがnginx-proxy
のIPからアクセスしたことになってしまい
適切なアクセス元を取得出来ませんでした。
nginx-proxy
https://github.com/jwilder/nginx-proxy
解決方法
以下の対応で解決しました。
- nginx-proxyの設定にX-Forwarded-Forを設定
- a.hoge.jp側の設定
nginx-proxyの設定にX-Forwarded-Forを設定
X-Forwarded-Forとは?
HTTPヘッダの一つでロードバランサやプロキシを経由する際に
クライアントの送信元IPアドレスを特定する際のデファクトスタンダードです。
設定ファイルに下記を追記します。
/etc/nginx/conf.d/default.confserver {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
a.hoge.jp側の設定
x-forwarded-for
は偽装可能なので、信頼できるところ以外からは
real_ip_header
を使わないようにするための設定です。
<nginx-proxyのIP>
はnginx-proxyのIPに置き換えてください。
/etc/nginx/conf.d/default.confserver {
set_real_ip_from <nginx-proxyのIP>;
real_ip_header X-Forwarded-For;
}
- article
Docker コマンド早見表:build/run/exec/logs/prune を 1 枚で網羅
- article
Windows WSL2 に Docker を最適導入:I/O 最適化・メモリ配分・互換性チェック
- article
Docker vs Podman vs nerdctl 徹底比較:CLI 互換性・rootless・企業導入の勘所
- article
WordPress を Docker で最速構築:開発/本番の環境差分をなくす手順
- article
Docker の全体像を俯瞰:コンテナ時代の開発・配布・運用を一本化する戦略ガイド
- article
Docker Swarm 徹底入門:Kubernetes に移行する前に理解すべきこと
- article
Nginx を macOS で本番級に構築:launchd/ログローテーション/権限・署名のベストプラクティス
- article
Nginx Unit と Node(+ PM2)/Passenger を比較:再読み込み・可用性・性能の実測
- article
Nginx 499/444/408 の謎を解く:クライアント切断と各種タイムアウトの実態
- article
Nginx リクエスト処理の舞台裏:フェーズ/ハンドラ/モジュール連携を図解で理解
- article
Nginx vs Apache 徹底比較:速度・メモリ・機能で最適解を選ぶ
- article
Nginx インストール完全ガイド:Linux・macOS・Windows・Docker 対応
- article
Motion(旧 Framer Motion)useAnimate/useMotionValueEvent 速習チートシート
- article
Remix ルーティング早見表:ネスト・可変パラメータ・モーダルルート対応一覧
- article
JavaScript IntersectionObserver レシピ集:無限スクロール/遅延読込を最短実装
- article
Preact チートシート【保存版】:JSX/Props/Events/Ref の書き方早見表
- article
Playwright コマンド&テストランナー チートシート【保存版スニペット集】
- article
htmx 属性チートシート:hx-get/hx-post/hx-swap/hx-target 早見表【実例付き】
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来