Caddyfile設定生成
モダンクラウド基盤 & リバースプロキシ

Caddyfile リバースプロキシ&自動HTTPS設定ジェネレーター

本番環境向けCaddy Webサーバー設定を迅速に生成・検証するための開発者向け技術リファレンス。

100% クライアント側プライバシー
サーバー送信ゼロ
プリセット:
Profile:
ドメイン & バーチャルホストAuto-HTTPS Ready
TLS / SSL & 証明書設定設定不要の自動ACME
アップストリームバックエンド & 負荷分散1 ノード
127.0.0.1:3000
セキュリティ強化 & パフォーマンス設定
# ========================================================
# Caddy 2 Production Server Configuration
# Site Address: app.example.com, www.app.example.com
# Workload Profile: Current Configuration
# Generated 100% Client-Side Private on ToolsAA
# ========================================================

{
    email [email protected]
    admin off
}

app.example.com, www.app.example.com {
    reverse_proxy 127.0.0.1:3000 {

        # Standard proxy header passthrough
        header_up Host {upstream_hostport}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}

        transport http {
            dial_timeout 5s
            response_header_timeout 60s
        }
    }

    # Ultra-fast high-compression (Zstandard & Gzip)
    encode zstd gzip

    # Security Hardening & Header Manipulation
    header {
        # HTTP Strict Transport Security (HSTS 2-Year Preload)
        Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        # Prevent MIME-type sniffing attacks
        X-Content-Type-Options "nosniff"
        # Mitigate clickjacking framing attacks
        X-Frame-Options "DENY"
        # Cross-domain referrer policy
        Referrer-Policy "strict-origin-when-cross-origin"
        # Restrict hardware API access
        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()"
        # Suppress fingerprinting headers
        -Server
        -X-Powered-By
    }

    # Structured Access Logging
    log {
        output file /var/log/caddy/app.example.com.access.log {
            roll_size 10mb
            roll_keep 5
            roll_keep_for 720h
        }
        format json
    }
}
ドメインとサイト
1 ホスト名
app.example.com, www.app.example.com
プロキシアップストリーム
1 バックエンド ノード 設定済み
Policy: round_robin
セキュリティとTLS状態
Automatic HTTPS Enabled
HTTP/3 (QUIC) & Zstandard Ready

100% クライアントサイドプライベート生成

サーバーへの送信や外部テレメトリは一切ありません。ホスト名、内部IPアドレス、ポート、認証情報はすべてブラウザのメモリ内でのみ安全に処理されます。

本番Caddy 2ディレクティブと自動HTTPS

Let's Encrypt / ZeroSSL TLS証明書の自動発行、HTTP/3 QUIC、WebSocket多重化、Zstandard圧縮に対応した設定を出力します。

マルチプラットフォーム対応

Caddyfile構文に加えて、Docker Compose構成、Systemdサービス定義、検証コマンドをワンクリックで取得可能です。

技術リファレンス&アーキテクチャガイド

Caddyfile Generator — リファレンスガイド

本番環境向けCaddy Webサーバー設定を迅速に生成・検証するための開発者向け技術リファレンス。

主要パラメータ&設定項目

domainstring

Caddyfileのサイトアドレスブロックを定義するプライマリ完全修飾ドメイン名(FQDN)またはIPアドレス。

初期値: example.com
tlsMode"auto" | "internal" | "custom" | "off"

TLS証明書のプロビジョニング方式:自動ACME証明書(auto)、ローカル自己署名CA(internal)、PEMファイル指定(custom)、HTTP平文(off)。

初期値: auto
upstreamsstring[]

reverse_proxyディレクティブがトラフィックを転送するバックエンドソケットまたはhost:portリスト。

初期値: ["localhost:3000"]
lbPolicy"round_robin" | "least_conn" | "ip_hash" | "first" | "random"

複数バックエンドへリクエストを分散する際に適用される負荷分散アルゴリズム。

初期値: round_robin
enableHealthCheckboolean

バックエンドへ定期的なアクティブURIプローブを実行し、障害ノードをルーティングから自動除外する機能。

初期値: false
enableSecurityHeadersboolean

HSTS、X-Content-Type-Options: nosniff、クリックジャッキング対策などのセキュリティヘッダーを注入。

初期値: true

プロの活用テクニック&推奨設定

ダウンタイムゼロの設定反映

プロセスを再起動せず `caddy reload --config /etc/caddy/Caddyfile` を実行することで、既存接続を切断することなくメモリ内で設定を動的リロードできます。

リバースプロキシのタイムアウト

本番運用のリバースプロキシでは、`transport http` 内に `dial_timeout 5s` と `response_header_timeout 30s` を明示し、ハングしたバックエンドによる接続枯渇を防止します。

ACME発行制限のテスト回避

ローカル検証やCIパイプラインでは `tls internal` を指定するか、Let's Encrypt Stagingエンドポイントを設定して本番CAの発行レート制限を回避してください。

よくあるトラブルと解決策

caddy validate実行時に未認識ディレクティブや構文エラーで失敗する

`caddy validate --config /etc/caddy/Caddyfile` を実行してエラー行を特定してください。サイトブロックの開き中括弧 `{` はドメイン名と同一行に配置し、インポートスニペットは呼び出し箇所より前に定義する必要があります。

80番ポートでのACME HTTP-01チャレンジがConnection Refusedで失敗する

パブリック80番ポートがファイアウォール(UFW、iptables、クラウドセキュリティグループ)で開放されているか確認してください。HTTPSリダイレクト運用であっても、ACME検証には80番ポートの受信が必要です。

reverse_proxyがクライアントにHTTP 502 Bad Gatewayを返却する

バックエンドがIPv6([::1])のみでリッスンしていないか確認し、IPv4(127.0.0.1)を明示してください。Docker環境下では `localhost` ではなくDocker Composeサービス名またはブリッジネットワークIPを指定します。

よくある質問 (FAQ)

CaddyfileとCaddyネイティブJSON設定の違いは何ですか?▼

Caddyfileは人間が読みやすい高レベル設定言語であり、実行時にCaddyのアダプターによってネイティブJSONへと自動変換されます。`caddy adapt --config Caddyfile --pretty` コマンドで変換後のJSONを確認できます。

入力したドメイン名やパスワード情報が外部サーバーへ送信されることはありますか?▼

いいえ。すべての解析とCaddyfile生成処理はブラウザのクライアント環境内で完結して実行されます。ホスト名、IPアドレス、パスワードハッシュなどのデータが外部へ送信されることは一切ありません。

basic_authディレクティブのパスワードにはどのハッシュ形式が必要ですか?▼

Caddyの `basic_auth` は平文パスワードを受け付けず、bcryptハッシュ値を必須とします。設定ファイルに記述する前に、公式コマンド `caddy hash-password --plaintext "yourpassword"` を用いてハッシュを生成してください。

Docker Composeやsystemd向けの設定を直接エクスポートできますか?▼

はい。ジェネレーター内の出力タブから、`/etc/caddy/Caddyfile` をマウントしたDocker Composeファイルや、データ永続化ボリューム、systemdサービスユニット定義を即座に出力可能です。

関連するおすすめ開発ツール

すべてのツール →
Brotli & Gzip 圧縮ベンチマーク&帯域節約シミュレーター開発ツール

ブラウザネイティブのCompressionStreamを活用し、テキスト、CSS、JavaScriptバンドルのBrotliおよびGzip圧縮率を測定。モバイル3G/4G環境での読み込み時間短縮と帯域節約効果を即座に試算します。

ツールを開く→
Protobuf .proto から TypeScript インターフェース&列挙型変換ガイド開発ツール

Protocol Buffers(proto2 および proto3)のメッセージ定義、列挙型(enum)、ネストされたフィールドを解析し、クリーンな TypeScript インターフェースに変換します。

ツールを開く→
OpenAPI・Swagger Markdown API仕様書生成ツール開発ツール

OpenAPI 3.0/3.1およびSwagger 2.0のJSON/YAML仕様書を、GitHub Flavored Markdown(GFM)準拠の美しいAPIリファレンスへ高速変換。

ツールを開く→
GraphQL SDL Prisma スキーマ変換ツール開発ツール

GraphQL スキーマ定義言語(SDL)のオブジェクト型、Enum、ディレクティブを、クリーンで堅牢な Prisma ORM モデルおよびリレーション定義へ自動変換します。

ツールを開く→
SQL DDL から TypeORM エンティティ生成ツール(TypeScript エンティティ)開発ツール

SQL の CREATE TABLE DDL 文を、@Column、@PrimaryGeneratedColumn、リレーションデコレータを備えたクリーンな TypeScript TypeORM エンティティクラスに変換します。

ツールを開く→
SQL CREATE TABLE DDLからZodスキーマへのコンバーター開発ツール

SQLテーブルスキーマ、データ型、制約条件、NULL許容列を厳密に型付けされたTypeScript Zodオブジェクトスキーマに変換します。

ツールを開く→