クイックスタート
このクイックスタートガイドで5-10分でNetFUNNEL 4 Node.js Agentを始めましょう。
このガイドでできること
- URL-Triggered統合: トリガールールベースの自動待機列制御
統合方法の選択
統合方法の詳細については、統合方法概要を参照してください。
前提条件
- NetFUNNELコンソールへのアクセス
- Node.jsプロジェクト (Node.js 18以上)
- ExpressまたはNuxtフレームワーク
ステップ1: Client IDとSecret Keyの取得
- NetFUNNELコンソールに移動
- 右上のプロフィールアイコンをクリック
統合資格情報(Integration Credentials) メニューを選択Client IDとSecret Keyをコピー
ステップ2: パッケージのインストール
依存関係の追加
package.jsonに次の依存関係を追加します。正確なアドレスはコンソールのエージェントタブで確認できます。
{
"dependencies": {
"netfunnel-node-agent": "{{AGENT_URL}}"
}
}
パッケージのインストール
プロジェクトルートパスから次のコマンドを実行します:
npm install
ステップ3: ミドルウェアの適用
プロジェクト構造に応じて、ExpressまたはNuxtのいずれか1つを選択して適用します。
Express方式
1. ミドルウェアの作成
middleware/netfunnel-middleware.tsファイルを作成します:
import { Netfunnel } from 'netfunnel-node-agent';
export function netfunnelMiddleware(req, res, next) {
Netfunnel.run(req, res).then(allowed => {
if (!allowed) {
return res.redirect(302, req._nfRedirect || '/');
}
next();
});
}
2. アプリにミドルウェアを登録
app.tsでNetFUNNELを初期化し、ミドルウェアを登録します:
import express from 'express';
import { router } from './routes.js';
import { netfunnelMiddleware } from './middleware/netfunnel-middleware.js';
import { Netfunnel } from 'netfunnel-node-agent';
const app = express();
const PORT = 3000;
/* NetFUNNELグローバル初期化 */
Netfunnel.initialize({
clientId: '{{CLIENT_ID}}', // ステップ1で取得したClient ID
secretKey: '{{SECRET_KEY}}' // ステップ1で取得したSecret Key
});
app.use(netfunnelMiddleware);
app.use('/', router);
app.listen(PORT, () => {
console.log(`[APP] listening on ${PORT} (NetFUNNEL ${Netfunnel.getVersion()})`);
});
Nuxt方式
1. ミドルウェアの作成
server/middleware/netfunnelAgent.tsファイルを作成します:
import { sendRedirect } from 'h3';
import { Netfunnel } from 'netfunnel-node-agent';
export default defineEventHandler(async event => {
Netfunnel.initialize({
clientId: '{{CLIENT_ID}}', // ステップ1で取得したClient ID
secretKey: '{{SECRET_KEY}}' // ステップ1で取得したSecret Key
});
console.log('[APP] NetFUNNEL Version:', Netfunnel.getVersion());
const allowed = await Netfunnel.run(event.node.req, event.node.res);
if (!allowed) {
const redirectUrl = (event.node.req as any)._nfRedirect || '/';
console.log(`Redirecting now to: ${redirectUrl}`);
return sendRedirect(event, redirectUrl);
}
});
ステップ4: トリガールールの設定
-
コンソールでセグメント作成:
- NetFUNNELコンソール →
Projects→Segment→Create Segmentに移動 - セグメント名を入力
- 進入状態を
Waitingに設定 - 進入許可数を
0に設定 (テスト用)
- NetFUNNELコンソール →
-
トリガールールの設定:
Trigger Rulesセクションでルールを追加- Validator:
URL - Component:
PathまたはURL - Match:
Equals、Contains、StartsWith、EndsWithなど - Value: 適用するURLパスを入力 (例:
/checkout、/login)
ステップ5: テスト
- トリガールールのテスト: コンソールのトリガールールテスト機能でURLがルールに適合するか確認
- 待機室の確認: ルールに適合するURLにアクセスした際に待機室が表示されるか確認
- 進入の確認: 進入許可数を増やして正常に進入できるか確認
ヘルプが必要ですか?
- トラブルシューティング: 一般的な問題と解決方法
- APIリファレンス: 完全な関数仕様
- コンソールのプロジェクト/セグメントキーが正確に一致しているか確認