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