メインコンテンツへスキップ

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_ipsHelm値
Jiteraアプリケーションproxies.yaml + ENABLE_PROXY_FROM_X_HEADERcharts/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_HEADERtrueの場合、任意のクライアントがX-Forwarded-Forヘッダーを設定してIPアドレスを偽装できます。外部トラフィックがある本番環境では使用しないでください。

IPアドレス形式

proxies.yamlは以下の形式をサポートしています:
形式ユースケース
IPv4単一192.168.1.1特定のロードバランサー
IPv4 CIDR10.0.0.0/8ネットワーク範囲
IPv6単一2001:db8::1特定のIPv6プロキシ
IPv6 CIDR2001:db8::/32IPv6ネットワーク範囲

インフラストラクチャ別の例

AWS Application Load BalancerはVPCのプライベートIP範囲内で動作します:
trusted_proxies:
  - 10.0.0.0/8       # VPC内部範囲(VPC CIDRに合わせて調整)
  - 172.16.0.0/12    # 使用している場合の追加プライベート範囲

Helm Valuesリファレンス

パラメータデフォルト説明
automation.env.ENABLE_PROXY_FROM_X_HEADERbooleanfalse任意のソースからの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アドレスを確認してください。