SCALE — Build Lab

IP制限(オフィス IP のみ許可)

オプション セキュリティ

CRM・管理画面など機密度高いシステムをオフィスIPからのみアクセス可に。

なぜ必要?

社内系は外部から触らせない。VPN代わり・最小コスト。

どう実装する?

middleware で req.ip をホワイトリスト照合 → 外なら 403。

コード例
ts
const ALLOWED_IPS = process.env.ALLOWED_IPS?.split(',') ?? [];
export function middleware(req: NextRequest) {
  const ip = req.headers.get('x-forwarded-for')?.split(',')[0] ?? req.ip;
  if (!ALLOWED_IPS.includes(ip)) {
    return new Response('Forbidden', { status: 403 });
  }
}

IP制限(オフィス IP のみ許可)

:LiTarget: 何のために?

社内系は外部から触らせない。VPN代わり・最小コスト。

:LiSparkle: どう実装する?

middleware で req.ip をホワイトリスト照合 → 外なら 403。

:LiCode: コード例

const ALLOWED_IPS = process.env.ALLOWED_IPS?.split(',') ?? [];
export function middleware(req: NextRequest) {
  const ip = req.headers.get('x-forwarded-for')?.split(',')[0] ?? req.ip;
  if (!ALLOWED_IPS.includes(ip)) {
    return new Response('Forbidden', { status: 403 });
  }
}