Files
phpfpm/values.yaml
Claude 02696fc55e
All checks were successful
Helm Chart Release / release-chart (push) Successful in 12s
feat: Add Real IP forwarding feature for bare-metal clusters
ベアメタルKubernetesクラスターやLoadBalancer環境において、
PHP側で訪問者の実IPアドレスを取得できる機能を追加。

Changes:
- Add nginx.forwardRealIP configuration in values.yaml
- Implement real_ip_header and set_real_ip_from in Nginx config
- Pass real IP info to PHP-FPM via fastcgi_param
- Add usage example and documentation in README.md
- Create test-real-ip.php for verification
- Update chart version to 8.5.2-a

Features:
- Compatible with existing customConfig.snippet
- Configurable trusted proxy networks
- Supports multi-tier proxy with recursive option
- Default disabled for backward compatibility

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 09:21:55 +09:00

133 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
replicaCount: 1
image:
nginx:
registry: docker.io
repository: nginx
tag: "1.29.4-alpine-perl"
pullPolicy: IfNotPresent
php:
registry: docker.io
repository: php
tag: "8.5.2-fpm-alpine3.23"
pullPolicy: IfNotPresent
selenium:
registry: docker.io
repository: selenium/standalone-chromium
tag: "144.0-chromedriver-144.0"
pullPolicy: IfNotPresent
service:
# type: ClusterIP
type: LoadBalancer
port: 80
ingress:
enabled: false
className: ""
annotations: {}
# {
# acme.cert-manager.io/http01-ingress-class: "nginx",
# cert-manager.io/cluster-issuer: "letsencrypt-issuer",
# nginx.ingress.kubernetes.io/from-to-www-redirect: "true",
# nginx.ingress.kubernetes.io/proxy-body-size: "100m"
# }
hosts:
- host: example.tld
paths:
- path: /
pathType: Prefix
tls: []
# [
# {
# hosts: [ "example.com" ],
# secretName: "example-tls"
# }
# ]
persistence:
enabled: true
accessMode: ReadWriteOnce
size: 1Gi
nginx:
customConfig:
enabled: false
snippet: |-
# リアルIP転送設定ベアメタル/LoadBalancer環境向け
forwardRealIP:
# リアルIP取得機能を有効化
enabled: false
# リアルIPを取得するヘッダー名
# LoadBalancer/Ingressによって異なる
# - X-Real-IP: シンプルな1段プロキシ
# - X-Forwarded-For: 多段プロキシ対応(推奨)
header: "X-Forwarded-For"
# 再帰的にリアルIPを検索多段プロキシ環境で推奨
recursive: true
# 信頼するプロキシのネットワーク範囲
# ベアメタルクラスターでは、PodネットワークとServiceネットワークを指定
trustedProxies:
- "10.0.0.0/8" # プライベートネットワーク
- "172.16.0.0/12" # プライベートネットワーク
- "192.168.0.0/16" # プライベートネットワーク
# 追加で信頼するプロキシ(環境に応じてカスタマイズ)
additionalTrustedProxies: []
# - "203.0.113.0/24" # 外部LoadBalancerなど
# Composer設定
composer:
# Composerを使用するかどうか
enabled: false
# Composerでインストールするパッケージ
# packages配列が空の場合、composer.jsonを使用
packages: []
# - "monolog/monolog:^2.0"
# - "guzzlehttp/guzzle:^7.0"
# composer.jsonファイルを使用する場合
useComposerJson: false
# composer.jsonの内容useComposerJson: trueの場合に使用
composerJson: |
{
"require": {
"monolog/monolog": "^2.0"
}
}
# composer.lockファイルの内容オプション、再現性を保証
composerLock: ""
# Composerのインストールオプション
installOptions: "--no-dev --optimize-autoloader"
# 追加のAPKパッケージComposer依存関係のビルドに必要な場合
additionalApkPackages: []
# - "libpng-dev"
# - "libjpeg-turbo-dev"
# 追加のPHP拡張docker-php-ext-installで導入
additionalPhpExtensions: []
# - "gd"
# - "zip"
# Selenium設定レガシー互換性維持
selenium:
enabled: false
externalDatabase:
enabled: false
host: mariadb-hostname
port: 3306
database: dbname
username: user
password: pass
resources: {}