nginx_lua
SKILL.md
nginx_lua
Nginx con OpenResty (módulo LuaJIT integrado) actúa como API Gateway principal. Gestiona TLS termination, routing, rate limiting distribuido via Redis, y permite lógica personalizada en Lua sin recompilar Nginx.
When to use
Usar como punto de entrada único a todos los microservicios KYC. Todo el tráfico externo pasa por Nginx — nunca exponer los servicios FastAPI directamente a internet.
Instructions
- Usar imagen OpenResty:
docker pull openresty/openresty:alpine - Configuración base en
nginx/conf/nginx.conf:upstream kyc_api { least_conn; server kyc-api-1:8000; server kyc-api-2:8000; keepalive 32; } server { listen 443 ssl http2; ssl_certificate /etc/ssl/certs/kyc.crt; ssl_certificate_key /etc/ssl/private/kyc.key; ssl_protocols TLSv1.3; ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; client_max_body_size 20M; # máximo payload (2 imágenes ~5MB c/u + overhead) location /v1/ { proxy_pass http://kyc_api; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_read_timeout 30s; } } - Añadir security headers en
add_headerblock (ver skillsecurity_headers). - Habilitar Gzip:
gzip on; gzip_types application/json; gzip_min_length 1024; - Configurar access log en formato JSON para ingesta por Promtail.
- Rate limiting con módulo
limit_req_zone+ Redis via lua-resty-redis para contadores distribuidos. - Healthcheck:
location /health { return 200 "ok"; access_log off; }
Notes
- OpenResty incluye LuaJIT — soporta hasta 50K req/s por instancia en hardware moderno.
- Nunca exponer el puerto 8000 de FastAPI al exterior — solo el 443 de Nginx.
- Rotar certificados TLS con cert-manager automáticamente — Nginx recarga con
nginx -s reload.
Weekly Installs
1
Repository
davidcastagnetoa/skillsFirst Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1