import { getHeader, getRequestIP } from 'h3' /** * 还原真实客户端 IP。 * 优先级:CF-Connecting-IP > X-Real-IP > X-Forwarded-For(首段) > 连接地址 * 适用于多层反代(Cloudflare / Nginx / 负载均衡)场景。 */ export function getRealClientIp(event: any): string { const cf = getHeader(event, 'cf-connecting-ip') if (cf) return String(cf).split(',')[0].trim() const real = getHeader(event, 'x-real-ip') if (real) return String(real).split(',')[0].trim() const xff = getHeader(event, 'x-forwarded-for') if (xff) return String(xff).split(',')[0].trim() return getRequestIP(event, { xForwardedFor: false }) || '0.0.0.0' }