vercel.json ビルダー
Vercel クラウド配信&エッジルーティング

Vercel構成ファイル (vercel.json) ビルダー

エッジルーティング、リライト、セキュリティヘッダー、サーバーレス関数、Cron設定を網羅したvercel.jsonの実務開発者向けリファレンス。

Vercel V2 スキーマ公式準拠
サーバー送信ゼロ
プリセット:

ページURLから.html拡張子を自動削除

末尾スラッシュ(/)の付与または除去を正規化強制

{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "cleanUrls": true,
  "trailingSlash": false,
  "framework": "nextjs",
  "regions": [
    "iad1"
  ],
  "rewrites": [
    {
      "source": "/api/proxy/:path*",
      "destination": "https://backend-api.example.com/:path*"
    }
  ],
  "redirects": [
    {
      "source": "/old-blog/:slug",
      "destination": "/blog/:slug",
      "statusCode": 308
    }
  ],
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "X-Frame-Options",
          "value": "DENY"
        },
        {
          "key": "Referrer-Policy",
          "value": "strict-origin-when-cross-origin"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains; preload"
        }
      ]
    }
  ],
  "crons": [
    {
      "path": "/api/cron/nightly-sync",
      "schedule": "0 4 * * *"
    }
  ],
  "functions": {
    "api/**/*.ts": {
      "runtime": "nodejs20.x",
      "memory": 1024,
      "maxDuration": 60
    }
  }
}
アクティブルーティング&Cron数
1 リライト•1 リダイレクト•1 Cron

リライト、リダイレクト、ヘッダー、関数、Cronの合計値。

デプロイ準備スコア
100 / 100•本番デプロイ可能

Vercel公式のルーティング規則およびタイムアウト制限に基づいて評価。

セキュリティ&キャッシュ設定状況
1 個のヘッダーブロック•クリーンURL 有効

静的アセットおよびAPIルートに適用されたHTTPセキュリティヘッダー。

ゼロナレッジ・完全ローカル実行

すべてのデータ処理、解析、コード生成はお使いのブラウザ内部メモリで完結します。外部サーバーへの送信はゼロです。

超高速・即時リアクティブ演算

最適化されたクライアント側解析パイプラインにより、キーストロークと同時に遅延なくリアルタイムで結果を生成します。

公式仕様準拠・高信頼アーキテクチャ

IETF RFCや公式業界仕様に厳格に準拠し、エッジケースの安全な処理とメモリリークのない堅牢な実行を保証します。

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

Vercel.json 設定・アーキテクチャ — リファレンスガイド

エッジルーティング、リライト、セキュリティヘッダー、サーバーレス関数、Cron設定を網羅したvercel.jsonの実務開発者向けリファレンス。

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

cleanUrlsboolean | null

URLから.html拡張子を自動的に除去し、拡張子付きリクエストを拡張子なしパスへ308リダイレクトするか制御します。

初期値: null
trailingSlashboolean | null

全リクエストパスの末尾スラッシュの有無を統一し、不一致時に308リダイレクトを実行します。

初期値: null
rewritesRewriteRule[]

ブラウザのURLバーを変更せずに、受信パス(source)を内部宛先(destination)へ透過的にプロキシするルーティング配列。

初期値: []
headersHeaderRule[]

指定パスパターンに対してCSP、HSTS、CORSなどのHTTPレスポンスヘッダーを付与する設定ルール配列。

初期値: []
functionsFunctionRule[]

パスごとのサーバーレス関数の実行メモリ(128〜3008MB)や最大実行時間(maxDuration)を定義する設定配列。

初期値: []
cronsCronRule[]

標準5フィールドのUTC cron記法を用いて特定APIパスを定期実行するスケジューラー設定配列。

初期値: []

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

リライトルールの評価順序管理

特定のエンドポイントやAPIプロキシは、汎用ワイルドカード(/(.*))よりも前に記述してください。Vercelは上から順に評価し、最初に一致したルールで停止します。

ワイルドカードでの共通ヘッダー

Strict-Transport-Security等の全般ヘッダーは/((?!_next).*)へ指定し、Next.js内部のアセット配信キャッシュ設定を上書きしないよう除外設計を行います。

サーバーレス実行制限の最適化

プラン上限(Hobbyは10秒、Proは最大300秒)に合わせてmaxDurationを指定し、CPU依存処理にはmemoryを1024MB以上に設定して並列クロックを最大化します。

UTC基準でのCron時刻計算

Vercel Cronは常にUTCで動作します。日本時間(JST)午前9時に実行したい場合は、時差-9時間を引いた0 0 * * *(UTC 0:00)として設定してください。

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

trailingSlashと独自リダイレクトの競合による無限ループ

trailingSlashが有効な場合、Vercelのエッジ基盤が自動で308リダイレクトを発行します。末尾スラッシュを操作する手動リダイレクトルールを削除してください。

Cron設定で6フィールド指定によるスキーマ検証エラー

Vercel Cronは標準的なPOSIX 5フィールド形式(* * * * *)のみサポートしています。秒単位を含む6フィールド表記やQuartz構文は削除してください。

maxDurationがプランの許容上限を超過してデプロイ失敗

Hobbyプランの上限は10秒です。設定値を10秒以下に変更するか、長時間処理が必要な場合はProプランへのアップグレードを検討してください。

よくある質問 (FAQ)

vercel.jsonのリライト設定はnext.config.jsより優先されますか?▼

はい。vercel.jsonのルールはVercelのエッジインフラ層で評価されるため、Next.jsランタイムにリクエストが到達する前に優先処理されます。

生成された設定データはローカルブラウザ内だけで処理されますか?▼

はい。構文チェック、スキーマ検証、JSON出力はすべてブラウザのJavaScriptメモリ内で完結し、外部サーバーへ設定内容が送信されることはありません。

vercel.jsonにおけるrewritesとredirectsの決定的な違いは何ですか?▼

redirectsは301や308ステータスをクライアントに返してアドレスバーのURLを変更させますが、rewritesはブラウザURLを変えずに内部で宛先へプロキシします。

VercelのHobby(無料)プランでもCron機能は利用できますか?▼

利用可能ですが、Hobbyプランでは実行頻度が「1日1回(24時間に1回)」までに制限されます。1時間ごとや数分ごとの定期実行にはProプラン以上が必要です。

生成されたvercel.jsonはリポジトリのどこに配置すべきですか?▼

リポジトリのルートディレクトリ、またはモノレポにおける該当プロジェクトのルート(package.jsonと同階層)に配置します。

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

すべてのツール →
ESLint Flat Config (eslint.config.mjs) インタラクティブビルダー開発ツール

TypeScript、React、Next.js、Vue、Prettier、カスタムルールに対応した最新のESLint 9+ フラット設定ファイル(eslint.config.mjs / .js)をブラウザ上で安全に生成します。

ツールを開く→
SemVer範囲・バージョン適合性テスター開発ツール

セマンティック バージョニング(SemVer)範囲(キャレット ^、チルダ ~、ハイフン範囲、X-Range、プレリリース)をテストし、パッケージバージョンの適合性をリアルタイムに検証します。

ツールを開く→
Crontab 表現式解析・スケジュール自動生成ツール開発ツール

POSIXおよびVixie cron式の構文解析、バリデーション、次回実行日時の算出を行う開発者向けリファレンス。

ツールを開く→
正規表現チェッカー・リアルタイムRegExテスター開発ツール

developer向け正規表現テスターユーティリティ。

ツールを開く→
URLエンコード・デコードツール開発ツール

RFC 3986厳格規格、encodeURIComponent、encodeURI、formUrlEncodedに対応した高速・安全な双方向URL変換ツール。

ツールを開く→
HTML実体参照エンコード・デコードツール開発ツール

名前付き実体参照、10進数参照、16進数参照を相互変換し、XSS攻撃を防ぎ特殊記号を正しく表示する高速エスケープツール。

ツールを開く→