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 });
}
}