Documentation Index
Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt
Use this file to discover all available pages before exploring further.
Jiteraがリバースプロキシ、ロードバランサー、またはCDNの背後で動作する場合、アプリケーションは実際のクライアントIPではなくプロキシのIPアドレスを認識します。これはセキュリティ機能(レート制限、IPブロック)、監査ログ、コンプライアンスに影響します。信頼済みプロキシ設定により、JiteraがどのプロキシIPアドレスを信頼するかを指定し、X-Forwarded-Forヘッダーから実際のクライアントIPを読み取れるようにします。
2段階の信頼チェーン
クライアントIPの保持には、リクエストパスの2つの層での信頼設定が必要です:
| 層 | 設定 | 場所 |
|---|
| Kongイングレス | kong.env.trusted_ips | Helm値 |
| Jiteraアプリケーション | proxies.yaml + ENABLE_PROXY_FROM_X_HEADER | charts/jitera/extra_config/ + Helm値 |
本番環境では両方を、直前のホップのCIDRに絞り込んでください。
Kongイングレスの信頼IP
チャートは kong.env.trusted_ips: "0.0.0.0/0,::/0" で出荷され、Kongはあらゆる送信元からの x-real-ip / X-Forwarded-For ヘッダーを受け入れます。本番環境では、Kongの前段に位置するロードバランサーのCIDRに絞り込んでください:
kong:
env:
trusted_ips: "10.0.0.0/16" # LBサブネットのCIDR(例)
real_ip_header: "x-real-ip" # チャートのデフォルト
トポロジに応じて、VPCのCIDRまたはLBサブネットのCIDRを使用してください。
設定方法
| 方法 | セキュリティ | ユースケース |
|---|
| 明示的IPトラストリスト | 高 | 本番環境 — 特定のプロキシIPのみを信頼 |
| X-Forwarded-Forヘッダー信頼 | 中 | 開発/テスト — 任意のソースからのヘッダーを信頼 |
明示的IPトラストリスト(推奨)
プロキシ設定ファイルを作成して、クライアントIP情報の提供を許可するIPアドレスを正確に定義します。
ステップ1: charts/jitera/extra_config/proxies.yamlを作成:
trusted_proxies:
- 10.0.0.0/8 # Kubernetes Pod/サービスネットワーク
- 172.16.0.0/12 # プライベートネットワーク範囲
- 192.168.0.0/16 # プライベートネットワーク範囲
# 以下にロードバランサーまたはCDNのIP範囲を追加:
# - 203.0.113.0/24 # 例:CDN IP範囲
# - 198.51.100.5 # 例:特定のロードバランサーIP
ステップ2: ヘッダーのみの信頼を無効化:
automation:
env:
ENABLE_PROXY_FROM_X_HEADER: false
アプリケーションは、リクエストがproxies.yamlにリストされたIPアドレスから発信された場合にのみ、X-Forwarded-ForヘッダーからのクライアントIP情報を受け入れます。
proxies.yamlファイルはデフォルトで空の状態で提供されます。信頼済みプロキシを有効にするには、インフラストラクチャのプロキシIP範囲を追加する必要があります。
X-Forwarded-Forヘッダー信頼
開発環境や完全に制御された内部ネットワークでは、明示的なIPリストなしでヘッダーベースの信頼を有効にできます:
automation:
env:
ENABLE_PROXY_FROM_X_HEADER: true
ENABLE_PROXY_FROM_X_HEADERがtrueの場合、任意のクライアントがX-Forwarded-Forヘッダーを設定してIPアドレスを偽装できます。外部トラフィックがある本番環境では使用しないでください。
IPアドレス形式
proxies.yamlは以下の形式をサポートしています:
| 形式 | 例 | ユースケース |
|---|
| IPv4単一 | 192.168.1.1 | 特定のロードバランサー |
| IPv4 CIDR | 10.0.0.0/8 | ネットワーク範囲 |
| IPv6単一 | 2001:db8::1 | 特定のIPv6プロキシ |
| IPv6 CIDR | 2001:db8::/32 | IPv6ネットワーク範囲 |
インフラストラクチャ別の例
AWS(EKS)
Azure(AKS)
オンプレミス
Cloudflare CDN
AWS Application Load BalancerはVPCのプライベートIP範囲内で動作します:trusted_proxies:
- 10.0.0.0/8 # VPC内部範囲(VPC CIDRに合わせて調整)
- 172.16.0.0/12 # 使用している場合の追加プライベート範囲
AzureロードバランサーとAzure Front DoorはAzureマネージドIP範囲を使用します。Azure Front Doorの場合、現在のアドレスについてはAzureのIP範囲とサービスタグを参照してください。trusted_proxies:
- 10.0.0.0/8 # AKS仮想ネットワーク範囲(VNet CIDRに合わせて調整)
- 168.63.129.16/32 # Azureヘルスプローブ
セルフマネージドクラスターの場合、Pod/サービスネットワークCIDRと外部ロードバランサーIPを含めます:trusted_proxies:
- 10.244.0.0/16 # デフォルトPodネットワーク(クラスターに合わせて調整)
- 10.96.0.0/12 # デフォルトサービスネットワーク
- 192.168.1.100 # 例:MetalLBロードバランサーIP
クラスターの前にCloudflareを使用している場合、パブリックIP範囲を追加します。これらの範囲は定期的に変更されます — cloudflare.com/ipsで確認してください。trusted_proxies:
- 173.245.48.0/20
- 103.21.244.0/22
- 103.22.200.0/22
- 103.31.4.0/22
- 141.101.64.0/18
- 108.162.192.0/18
- 190.93.240.0/20
# 完全な最新リストはcloudflare.com/ipsを参照
Helm Valuesリファレンス
| パラメータ | 型 | デフォルト | 説明 |
|---|
automation.env.ENABLE_PROXY_FROM_X_HEADER | boolean | false | 任意のソースからのX-Forwarded-Forヘッダーを信頼。開発環境のみtrueに設定。 |
信頼済みプロキシIPリストはcharts/jitera/extra_config/proxies.yamlで定義されます(Helm valueではありません)。完全なHelm設定リファレンスについては、Automation環境変数を参照してください。
信頼済みプロキシを設定した後:
# ENABLE_PROXY_FROM_X_HEADER設定を確認
kubectl exec -it deploy/jitera-automation-rails -n jitera -- \
env | grep ENABLE_PROXY
# proxies.yamlがマウントされていることを確認(明示的IPリストを使用している場合)
kubectl exec -it deploy/jitera-automation-rails -n jitera -- \
cat /app/config/proxies.yaml
クライアントIP検出が正常に動作していることを確認するには、プロキシを経由したリクエスト後に監査ログまたはアプリケーションログで正しいクライアントIPアドレスを確認してください。