Communitygithub.com

Experto en API Gateway y Proxy Inverso

Configura y optimiza puertas de enlace API y proxies inversos para enrutamiento, autenticación, limitación de tasa y gestión de tráfico.

¿Qué es Experto en API Gateway y Proxy Inverso?

Este skill está diseñado para desarrolladores y administradores de sistemas que necesitan configurar, optimizar y solucionar problemas de puertas de enlace API y proxies inversos como Kong, Nginx y Traefik. Proporciona guías detalladas para seleccionar la estrategia de autenticación adecuada (API Key, JWT, mTLS, OAuth2) según el patrón de tráfico, así como para elegir la tecnología de puerta de enlace en función de los requisitos (ecosistema de plugins, nativo de Kubernetes, máximo rendimiento o gestionado en la nube). Incluye árboles de decisión para el enrutamiento ascendente, modos de fallo comunes con sus síntomas, detección, causa raíz y soluciones, y ejemplos prácticos como la configuración de un API Gateway para un comercio electrónico con Kong y la gestión de un despliegue canary fallido. El skill también define claramente sus límites, derivando temas como algoritmos de limitación de tasa o malla de servicios a otros skills especializados, y proporciona puertas de calidad para garantizar configuraciones robustas y seguras.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/api-gateway-reverse-proxy-expert

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Experto en API Gateway y Proxy Inverso?

Configura y optimiza puertas de enlace API y proxies inversos para enrutamiento, autenticación, limitación de tasa y gestión de tráfico.

Puntos de Decisión

Selección de Estrategia de Autenticación

Patrón de Tráfico y Requisitos
├── Solo servicios internos
│   └── Autenticación mediante API Key
│       ├── Baja complejidad, validación rápida
│       └── Kong: plugin key-auth, Traefik: forwardAuth
├── API orientada al cliente con necesidades de sesión
│   └── Autenticación JWT
│       ├── Sin estado, incluye claims de usuario
│       └── Kong: plugin jwt, Nginx: lua-resty-jwt
├── Integración empresarial B2B
│   └── Autenticación mTLS
│       ├── Basada en certificados, máxima seguridad
│       └── Kong: mtls-auth, Nginx: ssl_verify_client
└── Integración SaaS de terceros
    └── Flujo OAuth2
        ├── Intercambio de tokens, autenticación delegada
        └── Kong: plugin oauth2, AWS API Gateway: authorizer

Selección de Tecnología de Puerta de Enlace

Requisitos → Elección
├── Ecosistema de plugins e interfaz gráfica necesaria
│   └── Kong Enterprise/OSS
├── Nativo de Kubernetes con autodescubrimiento
│   └── Traefik v3 o Ingress-NGINX
├── Máximo rendimiento, funcionalidades mínimas
│   └── Nginx o Envoy
└── Gestionado en la nube, escalado serverless
    └── AWS API Gateway o Azure Application Gateway

Estrategia de Enrutamiento Ascendente

Arquitectura de Servicio → Método de Enrutamiento
├── Microservicios con descubrimiento de servicios
│   └── Destinos ascendentes dinámicos
│       ├── Integración con Consul/Eureka
│       └── Balanceo de carga basado en comprobaciones de salud
├── Servicios backend estáticos
│   └── Grupos ascendentes fijos
│       ├── Round-robin o menos conexiones
│       └── Enrutamiento ponderado para despliegues canary
└── Despliegue multirregión
    └── Enrutamiento geográfico
        ├── Basado en latencia o geo-IP
        └── Conmutación por error a regiones secundarias

Modos de Fallo

Cascada de Tiempo de Espera de la Puerta de Enlace

Síntoma: Respuestas API lentas (>10s) bajo carga
Detección: Los tiempos de respuesta aumentan mientras los servicios ascendentes reportan latencia normal
Causa Raíz: El tiempo de espera de la puerta de enlace es mayor que el tiempo de espera ascendente, causando cola de solicitudes
Solución: Establecer el tiempo de espera de lectura de la puerta de enlace < tiempo de espera ascendente (puerta de enlace: 30s, ascendente: 25s)

Bypass de Autenticación

Síntoma: Solicitudes no autorizadas llegan a servicios backend
Detección: Los registros del backend muestran solicitudes sin los encabezados de autenticación esperados
Causa Raíz: El orden de las rutas permite que reglas permisivas coincidan antes que las reglas de autenticación
Solución: Mover el middleware de autenticación a nivel global o asegurar que las rutas específicas aparezcan primero en la configuración

Oscilación del Interruptor de Circuito

Síntoma: Errores 503 intermitentes durante picos de tráfico
Detección: El interruptor de circuito se abre/cierra rápidamente (varias veces por minuto)
Causa Raíz: Umbral demasiado sensible o comprobación de salud mal configurada
Solución: Ajustar el umbral de fallos (5+ fallos) y el tiempo de recuperación (mínimo 30s)

Caducidad del Certificado SSL

Síntoma: Fallos en el handshake HTTPS, advertencias de certificado en el navegador
Detección: La comprobación de certificados SSL muestra caducidad en 30 días
Causa Raíz: Gestión manual de certificados sin automatización de renovación
Solución: Implementar cert-manager (K8s) o cliente ACME con renovación automática

Agotamiento de Recursos

Síntoma: La puerta de enlace deja de aceptar conexiones, memoria/CPU al 100%
Detección: Errores de conexión rechazada, comprobaciones de salud de la puerta de enlace fallando
Causa Raíz: Sin límites de conexión o fugas de memoria en plugins
Solución: Establecer worker_connections (Nginx) o límites de pool de conexiones (Kong), reiniciar la puerta de enlace

Ejemplos Prácticos

Escenario: Configuración de API Gateway para Comercio Electrónico

Contexto: Desplegar Kong para microservicios que manejan pedidos, inventario, pagos con autenticación JWT

Paso 1: Definición de Rutas

# Identificar primero los endpoints de servicio
services:
  - orders: /api/v1/orders/* → http://orders:8080
  - inventory: /api/v1/inventory/* → http://inventory:8080  
  - payments: /api/v1/payments/* → http://payments:8080

Paso 2: Aplicar el Árbol de Decisión

  • Patrón de tráfico: API orientada al cliente → Autenticación JWT
  • Arquitectura: Microservicios → Destinos ascendentes dinámicos
  • Requisitos: Ecosistema de plugins necesario → Kong seleccionado

Paso 3: Orden de los Plugins

# Aplicar plugins en el orden correcto
plugins:
  1. cors (pre-autenticación)
  2. jwt (autenticación) 
  3. rate-limiting (post-autenticación)
  4. request-transformer (último)

Experto vs Novato:

  • Error de novato: Aplica limitación de tasa antes de la autenticación (usuarios anónimos consumen cuota)
  • Enfoque experto: Autenticación primero, luego limitación de tasa por usuario autenticado
  • Error de novato: Usa política CORS global
  • Enfoque experto: Diferente CORS por ruta (pedidos permite orígenes admin, pagos restringe solo al frontend)

Escenario de Fallo: Despliegue Canary Fallido

Situación: Se desplegó el 20% del tráfico a la nueva versión del servicio de pedidos, apareciendo errores 500

Proceso de Detección:

  1. Verificar métricas de la puerta de enlace: el pico de tasa 500 se correlaciona con el momento del despliegue
  2. Comprobaciones de salud ascendentes: la nueva versión falla las comprobaciones de salud
  3. Registros de la puerta de enlace: tiempos de espera de conexión ascendente

Procedimiento de Reversión:

# Paso 1: Cambio de tráfico inmediato
kong:
  routes:
    - service: orders-v1
      weight: 100  # Era 80
    - service: orders-v2  
      weight: 0    # Era 20

# Paso 2: Validar reversión
curl -H "Authorization: Bearer $JWT" \
  https://api.company.com/orders/health

# Paso 3: Eliminar el ascendente fallido
kubectl scale deployment orders-v2 --replicas=0

Análisis de Causa Raíz: La nueva versión tenía una mala configuración del pool de conexiones de la base de datos, causando tiempos de espera bajo carga

Puertas de Calidad

  • Todas las rutas tienen coincidencia explícita de ruta (sin rutas catch-all /*)
  • Middleware de autenticación configurado antes que los plugins de lógica de negocio
  • Las comprobaciones de salud devuelven 2xx para ascendentes saludables en menos de 5 segundos
  • Umbrales del interruptor de circuito establecidos: 5 fallos en ventana de 60s, recuperación de 30s
  • Certificados TLS se renuevan automáticamente con 30+ días antes de la caducidad
  • Limitación de tasa aplicada por usuario autenticado, no globalmente
  • Política CORS restringe orígenes solo a los dominios requeridos
  • Tiempo de espera de la puerta de enlace (30s) < tiempo de espera ascendente (25s) para evitar cascadas
  • Los registros de acceso incluyen ID de correlación para el rastreo de solicitudes
  • Puerta de enlace desplegada con mínimo 2 réplicas para alta disponibilidad

Límites NO-PARA

Este skill maneja: Configuración de puerta de enlace, reglas de enrutamiento, middleware de autenticación, configuración de proxy inverso

NO para:

  • Diseño de algoritmos de limitación de tasa → Usa api-rate-limiting-throttling-expert
  • Configuración del plano de datos de malla de servicios → Usa service-mesh-microservices-expert
  • Especificación y diseño de API → Usa api-architect
  • Pooling de conexiones de base de datos → Usa database-performance-expert
  • Orquestación de contenedores → Usa kubernetes-expert o docker-expert
  • Generación de certificados SSL → Usa security-infrastructure-expert

Reglas de Delegación:

  • Para algoritmos personalizados de limitación de tasa: "Configuraré el plugin de limitación de tasa, pero para algoritmos personalizados, usa api-rate-limiting-throttling-expert"
  • Para configuración de descubrimiento de servicios: "Configuraré los destinos ascendentes, pero para la configuración de malla de servicios, usa service-mesh-microservices-expert"

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

curiositech/windags-skills

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

curiositech/windags-skills

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

curiositech/windags-skills

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

curiositech/windags-skills

Implement WCAG 2.2 AA/AAA compliance with automated testing, keyboard navigation, screen reader support, and focus management. Activate on: accessibility audit, WCAG compliance, keyboard navigation, screen reader, aria attributes, axe-core, focus trap. NOT for: design-level accessibility review (use design-accessibility-auditor), color contrast only (use css-in-js-architect).

curiositech/windags-skills

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

curiositech/windags-skills

Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.

curiositech/windags-skills

>- Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

curiositech/windags-skills

Extend and modify the admin dashboard, developer portal, and operations console. Use when adding new admin tabs, metrics, monitoring features, or internal tools. Activates for dashboard development, analytics, user management, and internal tooling.

curiositech/windags-skills

Conversation patterns and interaction protocols for multi-agent systems. Covers request/response, pub/sub, blackboard, delegation chains, debate, critique, consensus, fan-out/fan-in, supervisor-worker, and peer negotiation. Deep analysis of AutoGen conversation patterns, CrewAI delegation, LangGraph state passing, and FIPA-ACL performatives. Teaches how to design what agents say to each other and in what order. Activate on: "agent conversation", "agent protocol", "multi-agent debate", "agent delegation", "supervisor worker pattern", "agent voting", "consensus protocol", "fan-out fan-in", "agent negotiation", "blackboard pattern", "agent dialogue", "conversation topology", "agent handoff". NOT for: wire format or serialization (use agent-interchange-formats), orchestration infrastructure (use agentic-infrastructure-2026), single agent behavior (use agentic-patterns).

curiositech/windags-skills

Meta-agent for creating new custom agents, skills, and MCP integrations. Expert in agent design, MCP development, skill architecture, and rapid prototyping. Activate on 'create agent', 'new skill', 'MCP server', 'custom tool', 'agent design'. NOT for using existing agents (invoke them directly), general coding (use language-specific skills), or infrastructure setup (use deployment-engineer).

curiositech/windags-skills

AI-powered calendar management and agent-based scheduling coordination. Covers calendar APIs (Google Calendar, CalDAV/iCal), AI scheduling assistants (Reclaim, Clockwise, Motion, Cal.com), building custom calendar agents with MCP, multi-calendar merging, timezone management, focus block protection, meeting fatigue detection, and agent-to-agent meeting negotiation protocols. Activate on: "calendar agent", "AI scheduling", "calendar coordination", "meeting scheduling", "calendar API", "focus time protection", "calendar optimization", "Google Calendar MCP", "Reclaim", "Clockwise", "Motion", "Cal.com", "smart scheduling", "calendar-aware agent", "timezone scheduling", "agent negotiation meetings". NOT for: manual calendar UI component design (use form-validation-architect), project management scheduling or Gantt charts (use project-management-guru-adhd), general time-tracking or pomodoro apps (use adhd-daily-planner for time-awareness), building the agent itself from scratch (use agent-creator).

curiositech/windags-skills

Build and adopt production AI agent infrastructure in 2026. Covers framework selection (LangGraph, CrewAI, AutoGen, MCP), orchestration patterns, evaluation, observability, memory systems, and tool use. Also covers the SOCIAL dimension: how to sell agent infrastructure internally, change management, measuring ROI, building trust in autonomous systems, and scaling adoption across teams. Activate on: "agent infrastructure", "agent framework comparison", "which agent framework", "sell AI tools internally", "agent adoption", "agent observability", "agent evaluation", "MCP architecture", "agentic mesh", "enterprise AI agents", "AI change management", "agent ROI". NOT for: building specific agents (use ai-engineer), designing agent behavior patterns (use agentic-patterns), prompt tuning (use prompt-engineer).

curiositech/windags-skills

Fundamental patterns for effective agentic behavior. Teaches decomposition, tool orchestration, error recovery, context management, quality self-assessment, and knowing when to stop. Model-agnostic principles that make any agent more effective regardless of domain. Activate on: "how should I structure this agent", "agentic workflow", "agent patterns", "multi-step task", "tool orchestration", "/agentic-patterns", "decompose this", "agent best practices", "chain of actions", "when should the agent stop", "agent loop design". NOT for: creating agent infrastructure (use agent-creator), building DAGs (use windags-architect), specific tool implementation.

curiositech/windags-skills

Automated discovery and matching of agent skills for dynamic task routing and capability assessment

curiositech/windags-skills

Cryptographic security for agentic systems — zero-trust agent networking, signed message envelopes (JWS/JWE), capability-based security (ocaps), Merkle tree audit trails, WASM sandboxing, and formal verification. Covers CLI dev tool security, mTLS between agents, permission boundaries (least privilege for AI agents), and supply chain security for skills/plugins. Activate on: "agent security", "zero trust agents", "secure agent communication", "capability-based security", "ocap", "signed messages between agents", "agent audit trail", "sandbox agent execution", "agent permissions", "mTLS agents", "cryptographic verification", "agent supply chain", "OWASP agentic", "prove agent did X", "tamper-proof agent logs". NOT for: application-level SAST scanning (use security-auditor), network firewall rules (use infrastructure), SOC2/HIPAA compliance (organizational), or prompt injection defense (use prompt-engineer).

curiositech/windags-skills

Data structures and serialization formats for agent-to-agent communication. Covers message envelopes, structured output schemas, capability declarations, task handoff payloads, error/retry signaling, and context windows as data structures. Deep comparison of A2A protocol, MCP, OpenAI function calling, and LangChain message types. Teaches when to use rigid schemas vs free-form with validation, typed vs untyped, streaming vs batch. Activate on: "agent message format", "agent communication schema", "agent-to-agent protocol", "A2A protocol", "MCP message format", "structured output for agents", "agent interop", "interchange format", "agent serialization", "task handoff format", "capability declaration". NOT for: what agents say to each other (use agent-conversation-protocols), orchestration topology (use multi-agent-coordination), building agent infrastructure (use agentic-infrastructure-2026).

curiositech/windags-skills

Logic-based agent programming language implementing BDI architecture for practical autonomous agent development

curiositech/windags-skills

>- Design AgentSpeak(L)-style BDI agents with context-guarded plans, selection functions, and intention stacks. Use for interruptible autonomy, agent policy, and multi-agent orchestration in dynamic environments. NOT for simple rule engines, static planners, or centralized workflows.

curiositech/windags-skills

Foundational concurrent computation model where actors communicate exclusively through asynchronous message passing

curiositech/windags-skills

license: Apache-2.0 NOT for unrelated tasks outside this domain.

Skills relacionados