メインコンテンツまでスキップ
バージョン: 4.6.1-saas

クイックスタート

このクイックスタートガイドで5-10分でNetFUNNEL 4 Node.js Agentを始めましょう。

このガイドでできること

  • URL-Triggered統合: トリガールールベースの自動待機列制御
統合方法の選択

統合方法の詳細については、統合方法概要を参照してください。


前提条件

  • NetFUNNELコンソールへのアクセス
  • Node.jsプロジェクト (Node.js 18以上)
  • ExpressまたはNuxtフレームワーク

ステップ1: Client IDとSecret Keyの取得

  1. NetFUNNELコンソールに移動
  2. 右上のプロフィールアイコンをクリック
  3. 統合資格情報 (Integration Credentials) メニューを選択
  4. Client IDSecret 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: トリガールールの設定

  1. コンソールでセグメント作成:

    • NetFUNNELコンソール → ProjectsSegmentCreate Segmentに移動
    • セグメント名を入力
    • 進入状態をWaitingに設定
    • 進入許可数を0に設定 (テスト用)
  2. トリガールールの設定:

    • Trigger Rulesセクションでルールを追加
    • Validator: URL
    • Component: PathまたはURL
    • Match: EqualsContainsStartsWithEndsWithなど
    • Value: 適用するURLパスを入力 (例: /checkout/login)

ステップ5: テスト

  1. トリガールールのテスト: コンソールのトリガールールテスト機能でURLがルールに適合するか確認
  2. 待機室の確認: ルールに適合するURLにアクセスした際に待機室が表示されるか確認
  3. 進入の確認: 進入許可数を増やして正常に進入できるか確認

ヘルプが必要ですか?