サポート
Integration Mode

Cloudflare Workers、Next.js、または Caddy で Integration Mode を設定する

直接回答

Hostnames > Connect through your own platform の下でプラットフォームを選び、ルールアドレスと統合キーをコピーし、Cloudflare Workers、Next.js、または Caddy 向けのオープンソースパッケージを追加して、デプロイします。ドメインは、そのチェックパスが応答するとすぐに接続されます。DNS レコードは不要です。

このページでは、すぐに使えるオープンソース統合を備えた 3 つのプラットフォームで、統合モード のドメイン接続方法を説明します。各プラットフォームは、RedirHub で管理するリダイレクト、短縮リンク、QR コードリンクをルールファイルから提供し、変更ごとに再デプロイする必要はありません。また、すべてのリダイレクトを分析情報に記録します。

始める前に: ルールアドレスとキー#

  1. ダッシュボードで、Hostnames の下にドメインを追加し、Connect through your own platform を選択します。
  2. プラットフォームを選択します。ダッシュボードには、そのドメインの ルールアドレス とワークスペースの 統合キー が表示され、さらに、下の手順を手動で行う代わりに、AI コーディングエージェント(Claude、Cursor、ChatGPT など)に貼り付けられるよう、両方を入力済みのプロンプトも表示されます。
  3. キーはシークレットまたは環境変数として保存してください。ルールアドレスは秘密ではありませんが、公開しないでください。

デプロイ後、/_redirhub/check で最初の応答があるとドメインが接続されます。ダッシュボードは 15 分ごとに確認し、または 今すぐ確認 で即時に確認します。

Cloudflare Workers#

オリジンの前にある Worker がリダイレクトを提供し、それ以外のすべてのリクエストをそのまま通します。ソースと完全なオプション: redirhub/cloudflare-redirects。

bashnpm install @redirhub/cloudflare-redirects

src/index.ts を作成:

typescriptimport { createWorker } from '@redirhub/cloudflare-redirects'

interface Env {
  ACME_RULES_URL: string
  ACME_INTEGRATION_KEY: string
}

export default createWorker<Env>({
  settings: (env) => ({ rulesUrl: env.ACME_RULES_URL, key: env.ACME_INTEGRATION_KEY }),
})

wrangler.toml でホスト名とルールのアドレスを設定します(ダッシュボードには、あなたのドメインに対応する正確な変数名が表示されます):

tomlname = "shop-redirects"
main = "src/index.ts"
compatibility_date = "2026-11-01"
routes = [{ pattern = "shop.example.com/*", zone_name = "example.com" }]

[vars]
ACME_RULES_URL = "https://rules.example.com/…/TOKEN.txt"

キーをシークレットとして追加してデプロイします:

bashnpx wrangler secret put ACME_INTEGRATION_KEY
npx wrangler deploy
  • ルートは、/_redirhub/check を含むホスト名のすべてのパスをカバーする必要があります。
  • キャッチオールのルールが機能します。オリジンが 404 を返したとき、代わりに Worker がリダイレクトします。
  • 404 レポートは機能します。ホスト名で 404 ページを報告 がオンになっている場合、オリジンの 404 が報告されます。

Next.js(Vercel または自前ホスト)#

リダイレクトは、ページの前にプロキシ(Next.js 16)またはミドルウェア(Next.js 15 以前)で実行されます。ソースと全オプション: redirhub/nextjs-redirects。

bashnpm install @redirhub/nextjs-redirects

ルールのアドレスとキーを環境変数として追加します(Vercel のプロジェクト設定、またはローカルでは .env.local)。キーの前に NEXT_PUBLIC_ を付けてはいけません。次に proxy.ts(または Next.js 15 以前では middleware.ts と export function middleware)を作成します:

typescriptimport type { NextFetchEvent, NextRequest } from 'next/server'
import { createProxy } from '@redirhub/nextjs-redirects'

const redirects = createProxy({
  rulesUrl: process.env.ACME_RULES_URL,
  key: process.env.ACME_INTEGRATION_KEY,
})

export async function proxy(request: NextRequest, event: NextFetchEvent) {
  const answer = await redirects(request, event)
  if (answer) return answer
  // … あなた独自のプロキシロジック、または何もしない
}
  • ルートの書き換えやロケール処理の前に、最初に呼び出してください。
  • matcher では /_redirhub/check と、リダイレクト対象のパスを通す必要があります。ドットを含むすべてのパスを除外する matcher は、/old.html のようなルールも除外してしまいます。
  • next.config のリダイレクトはプロキシの前に実行されるため、あなたのルールを上書きしてしまうことがあります。
  • プロキシはページの前に実行され、アプリが 404 を返すかどうかを知ることはできないため、ワイルドカードのルールや 404 レポートはそこで配信されません。両方を追加するには、createRedirects() と、その afterSite() を使用してください。そこでは最終的な応答を確認でき、たとえば route handler で利用できます(README を参照)。

Caddy#

あなたのサーバー向けの Caddy v2 モジュールです。1つの Caddy で、すべての統合ドメインを1つの Workspace rules address から配信でき、ルール内のホスト名に対してのみ、必要に応じて HTTPS 証明書を発行できます。ソースと全オプション: redirhub/caddy-redirects。

モジュール付きで Caddy をビルドします:

bashxcaddy build --with github.com/redirhub/caddy-redirects

Caddy では、ドメインごとのアドレスの代わりに、Integration key パネルから Workspace rules address をコピーしてください。次に、Caddyfile にハンドラを追加します:

text{
	on_demand_tls {
		permission redirects
	}
}

https:// {
	tls {
		on_demand
	}
	redirects {
		rules_url https://rules.rediredge.com/abc123/TOKEN.txt
		key {env.REDIRHUB_INTEGRATION_KEY}
	}
	reverse_proxy localhost:8080
}
  • Caddy の環境変数に REDIRHUB_INTEGRATION_KEY を設定し、Caddy を再読み込みしてください。
  • 変更はプッシュにより 1〜2 秒以内に反映され、フォールバックとしてポーリングが行われます。最後に正常だったルールはディスクに保持されるため、再起動後はすぐにリダイレクトされます。
  • キャッチオールのルールは、ルートの残りが 404 を返す場合に機能します。try_files の後ろにフォールバックを置く場合(シングルページアプリなど)、サイトは 404 を返さないため、キャッチオールは発動しません。
  • 404 レポートは、各ホスト名の Report 404 pages スイッチに従います。report_404 all を指定すると、サイトブロックのすべての 404 が報告され、RedirHub に追加していないホスト名であっても報告されます。

デプロイ後#

  • Hostnames の下でドメインを開き、今すぐ確認をクリックします。ステータスは Connected に変わるはずです。
  • プライベートウィンドウ、または curl -I を使ってルールをテストします。
  • ドメインが Waiting のままか、リダイレクトが発生しない場合は、Integration Mode のトラブルシューティングを参照してください。

よくある質問

はい。プラットフォームを選ぶと、ダッシュボードに rules address と key が入力済みのプロンプトが表示されます。それを Claude、Cursor、ChatGPT、または別のコーディングエージェントに貼り付けてください。

プロキシはページの前で動作し、アプリが 404 を返すかどうかを認識しないため、catch-all ルールと 404 レポートはそこで提供されません。最終的な回答が表示される createRedirects() の afterSite() を使用してください。

はい。Integration key パネルの Workspace rules address を使用してください。ワークスペース内の各 integration hostname ごとに 1 つの URL を使用します。