Referencia rápida de configuración de Nginx
Tabla rápida de fragmentos de configuración comunes de Nginx, para buscar y copiar rápidamente código de configuración
Configurar automáticamente el número de procesos de trabajo (normalmente igual al número de núcleos de CPU)
worker_processes auto;
Establecer el número máximo de conexiones por proceso de trabajo
events {
worker_connections 1024;
}Incluir configuración de tipos MIME
include /etc/nginx/mime.types; default_type application/octet-stream;
Habilitar transmisión eficiente de archivos
sendfile on; tcp_nopush on; tcp_nodelay on;
Establecer el tiempo de espera de conexión persistente
keepalive_timeout 65;
Establecer el tamaño máximo del cuerpo de la solicitud del cliente
client_max_body_size 100M;
Ocultar número de versión de Nginx
server_tokens off;
Configuración básica del bloque Server
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
}Configurar múltiples dominios
server_name example.com www.example.com;
Configurar dominios con comodín
server_name *.example.com;
Establecer servidor predeterminado
listen 80 default_server;
Escuchar dirección IPv6
listen [::]:80;
Establecer directorio raíz o alias
root /var/www/html; # o usar alias alias /var/www/files/;
Coincidencia exacta de ruta
location = /path {
# coincidencia exacta
}Coincidencia de prefijo de ruta
location /api/ {
# coincidencia de prefijo
}Coincidencia con expresión regular
location ~ \.php$ {
# coincidencia regular (distingue mayúsculas y minúsculas)
}Coincidencia regular sin distinguir mayúsculas y minúsculas
location ~* \.\(jpg|jpeg|png|gif\)$ {
# coincidencia regular (no distingue mayúsculas y minúsculas)
}Coincidencia de prefijo priorizada (prioritaria sobre la expresión regular)
location ^~ /images/ { # Coincide con prefijo priorizado }Orden de intento de archivos (común en aplicaciones SPA)
location / { try_files $uri $uri/ /index.html; }Solo se permite acceso a solicitudes internas
location /internal/ { internal; }Configuración básica de proxy inverso
location /api/ { proxy_pass http://backend:3000/; }Establecer encabezados de solicitud de proxy
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;
Configuración de proxy para WebSocket
location /ws/ { proxy_pass http://backend:3000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }Definir grupo de servidores upstream
upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; keepalive 32; }Configuración de balanceo de carga
upstream backend { least_conn; # o ip_hash; server 127.0.0.1:3000; server 127.0.0.1:3001; }Configuración de tiempo de espera del proxy
proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s;
Configuración de búferes del proxy
proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4k;
Configuración básica de SSL
server { listen 443 ssl http2; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; }Establecer versión de protocolo SSL
ssl_protocols TLSv1.2 TLSv1.3;
Establecer conjuntos de cifrado
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on;
Caché de sesión SSL
ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d;
Redirección de HTTP a HTTPS
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; }Habilitar HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Habilitar OCSP Stapling
ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s;
Caché de recursos estáticos
location ~* \.\(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2\)$ { expires 30d; add_header Cache-Control "public, immutable"; }Deshabilitar caché
location /api/ { add_header Cache-Control "no-store, no-cache, must-revalidate"; }Configuración de caché de proxy
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g; location / { proxy_cache my_cache; proxy_cache_valid 200 1d; }Habilitar ETag
etag on;
Habilitar solicitudes condicionales
if_modified_since before;
Configuración básica de compresión Gzip
gzip on; gzip_vary on; gzip_min_length 1024; gzip_comp_level 6;
Establecer tipos MIME para compresión
gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;
Habilitar compresión para solicitudes proxy
gzip_proxied any;
Habilitar archivos pre-comprimidos
gzip_static on;
Configuración de CORS跨域
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; add_header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,Content-Type";
Protección contra XSS y ataques de clickjacking
add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options SAMEORIGIN;
Política de seguridad de contenido
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";
Límite de velocidad de solicitudes
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
location /api/ {
limit_req zone=one burst=20 nodelay;
}Prohibir acceso a archivos ocultos
location ~ /\. {
deny all;
}Lista blanca de IP
location /admin/ {
allow 192.168.1.0/24;
deny all;
}Configuración de registro de acceso
access_log /var/log/nginx/access.log;
Configuración de registro de errores
error_log /var/log/nginx/error.log warn;
Formato de registro personalizado
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';Registro en formato JSON
log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';Deshabilitar registro de acceso
access_log off;
Registro condicional (solo registros de errores)
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;Cache de descriptores de archivo
open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2;
Habilitar múltiples conexiones y epoll
events {
multi_accept on;
use epoll;
}Cache FastCGI
fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fastcgi:10m;
location ~ \.php$ {
fastcgi_cache fastcgi;
fastcgi_cache_valid 200 1h;
}Límite de conexiones
limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 100;
Optimización de tiempo de espera
client_body_timeout 12; client_header_timeout 12; send_timeout 10;
📖Introducción de la herramienta.
Características.
❓Preguntas frecuentes.
🔗Herramientas relacionadas.
Analizador de expresiones Cron
Verifica la sintaxis de Cron y previsualiza los próximos tiempos de ejecución
JSON a CSV
Convertir datos JSON al formato CSV
JSON转YAML
Convertir datos JSON al formato YAML
Convertidor de JSON a XML.
Convertir datos JSON al formato XML.
YAML a JSON
Convertir la configuración YAML a datos en formato JSON.
Formateador de JSON
Formatear, validar y comprimir datos JSON
Visualización de JSON
Mostrar datos JSON en una estructura de árbol
Generador de datos JSON.
Generar datos JSON simulados para pruebas.
Traductor JSON i18n
Traduzca de una vez todo el archivo JSON de idioma. Pegue su contenido base y seleccione el idioma de destino; la herramienta utilizará claves aplanadas para llamar a la API de OpenRouter.
Diferencias de JSON
Comparar las diferencias entre dos datos JSON
Generador de códigos QR
Generar imágenes de código QR personalizadas
Generador de imágenes placeholder SVG
Generar imágenes placeholder SVG personalizadas
Convertidor de imágenes Base64
Herramienta de conversión entre imágenes y Base64
Generador de UUID
Generación en lote de UUID únicos.
Generador de contraseñas
Genera contraseñas aleatorias seguras y fiables.
Codificación y decodificación Base64
Herramienta de codificación y decodificación de cadenas Base64
Codificación y decodificación de URL
Herramienta de codificación y decodificación de cadenas URL
Generador de hash MD5
Herramienta para generar valores hash MD5
Generador de hash SHA256
Herramienta para generar hash SHA256
Generador de hash SHA1.
Herramienta para generar hash SHA1.
Codificador/decodificador hexadecimal.
Herramienta de codificación/decodificación de cadenas hexadecimales.
Decodificador binario
Herramienta de codificación/decodificación de cadenas binarias
Cifrador/Descifrador AES
Herramienta de cifrado/descifrado con el algoritmo simétrico AES
Herramienta de cifrado RSA (criptografía asimétrica)
Herramienta de criptografía RSA (cifrado asimétrico)
Generador de HMAC
Generador de código de autenticación de mensajes HMAC
Búsqueda de direcciones IP
Consultar la ubicación geográfica y la información de red de una dirección IP
Conversor de milisegundos
Convierte entre una marca de tiempo en milisegundos y la cadena yyyy-MM-dd HH:mm:ss.