Cloudflare Agent
概要
NetFUNNEL Cloudflare エージェントは、Cloudflare Workers から NetFUNNEL サーバーと通信する NetFUNNEL 専用クライアントです。
Worker 環境の設定
Cloudflare の公式ドキュメントを参照し、Cloudflare Worker の環境を設定することが最優先です。
Cloudflare の公式ドキュメントで Worker プロジェクトの設定内容を確認したうえで、案内に従って Worker 環境を設定してください。
Worker CLI ガイド: CLI
Worker の作成と設定
Worker の作成
- [Workers と Pages] に移動します。
- Workers で [作成] をクリックします。
- [Hello world] をクリックします。
- デプロイして追加します。
Worker へのエージェント適用
- 右上の [コードを編集] をクリックします。
- https://agent-lib.stclab.com/agents/cdn/cloudflare/netfunnel-cloudflare-agent-latest.js から
netfunnel-cloudflare-agent.jsファイルをダウンロードしてください。 - コードエディタの左タブで [Explore] をクリックし、ファイル一覧を表示します。
- netfunnel-cloudflare-agent.js ファイルを配置します。
- worker.js を開き、以下のコードを記述してください。
import handleEvent from './netfunnel-cloudflare-agent.js'
export default {
async fetch(request, env, ctx) {
return await handleEvent(request, env, ctx);
},
};
- 右上の [デプロイ] をクリックして Worker をデプロイします。
Worker 設定
- 作成した Worker を選択し、[設定] メニューに入ります。
- ドメインとルートで [+ 追加] をクリックします。
- [ルート] をクリックします。
- [ゾーン] でドメインを選択し、[ルート] に Worker を実行するドメインを入力します。(末尾に /* を付けるとサブページでも Worker が動作します。)
- [失敗時は開く(続行)] を選択します。
- [ルートを追加] をクリックします。
CLIENT_ID変数を追加します。
CLIENT_ID は NetFUNNEL コンソールで確認できます。
- 変数を追加したら [デプロイ] をクリックします。
ドメイン設定
3.2 で設定したドメインを CNAME で設定し、そのパスへのリクエストで Worker が実行されるようにしてください。
必ず Proxy タイプで設定してください。
追加機能
Good Bot の例外処理
Worker 設定により、特定の User-Agent が含まれる場合にエージェントの動作から除外できます。
Worker 設定
- [Workers と Pages] でエージェントが適用された Worker を選択し、[設定] タブに移動します。
- 以下の表を参考に、変数とシークレットに環境変数を追加します。
Google、Microsoft、Yahoo、Apple、Facebook のボットを除外した例です。
| タイプ | 名前 | 値 |
|---|---|---|
| テキスト | GOOD_BOTS | Googlebot, Bingbot, Slurp, Applebot, facebookexternalhit |
- 追加後 [デプロイ] をクリックします。
進入キーの自動返却
NetFUNNEL Cloudflare エージェントは、進入後に NetFUNNEL キーを自動で返却し、次の待機者が進入できるようにしています。 NetFUNNEL キーを即座に返却せず、セグメントで設定したタイムアウト時に返却したい場合にこの機能を使用できます。
Worker 設定
- [Workers と Pages] でエージェントが適用された Worker を選択し、[設定] タブに移動します。
- 変数とシークレットに環境変数 RETURN_KEY(値: true)を追加します。
true(既定値)の場合、待機完了後の進入時にエージェントが NetFUNNEL キーを自動で返却します。 false の場合、セグメントで設定したタイムアウト時にキーが返却されます。
- 追加後 [デプロイ] をクリックします。
待機室ドメインの変更
NetFUNNEL 待機室ページのドメインは agent-lib.stclab.com です。サービスで使用するドメインに変更する場合は、NetFUNNEL サービスチームに希望ドメインを伝え、Worker 設定を変更してください。
Worker 設定
- [Workers と Pages] でエージェントが適用された Worker を選択し、[設定] タブに移動します。
- 以下の表を参考に、変数とシークレットに環境変数を追加します。
| タイプ | 名前 | 値 |
|---|---|---|
| テキスト | VWR_PAGE_DOMAIN | http(s)://{CNAME_DOMAIN} e.g. https://wait.stclab.com |
- 追加後 [デプロイ] をクリックします。
クッキードメインの設定
NetFUNNEL サーバーから発行されたキーは、現在のページのドメインを基準にクッキーに保存されます。 サブドメイン間でキーを共有する必要がある場合は、メインドメインがクッキーに保存されるよう設定します。
develop.stclab.com と staging.stclab.com のようにサブドメインが異なるページでクッキーを共有するには、.stclab.com と設定します。
Worker 設定
- [Workers と Pages] でエージェントが適用された Worker を選択し、[設定] タブに移動します。
- 以下の表を参考に、変数とシークレットに環境変数を追加します。
| タイプ | 名前 | 値 |
|---|---|---|
| テキスト | COOKIE_DOMAIN | .{MAIN_DOMAIN} e.g. .stclab.com |
- 追加後 [デプロイ] をクリックします。