Registro de cambios

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

Configuración básica
7

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;
Bloque Server
6

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 de Location
7

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; }
Proxy inverso
7

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;
SSL/HTTPS
7

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;
Configuración de caché
5

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;
Compresión Gzip
4

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 seguridad
6

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
6

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;
Optimización de rendimiento
5

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.

Nginx Config Quick Reference es una herramienta de referencia rápida de configuración de Nginx diseñada para desarrolladores web y administradores de sistemas. Cubre fragmentos de configuración comunes desde configuraciones básicas hasta optimizaciones avanzadas, organizados por funcionalidad, con búsqueda rápida y copia de un solo clic. Ya sea que seas principiante en Nginx o un ingeniero de sistemas experimentado, puedes encontrar rápidamente el código de configuración que necesitas aquí.

Características.

1
10 categorías principales que cubren todas las escenas comunes de configuración de Nginx
2
Más de 60 fragmentos de configuración comunes, incluyendo desde lo básico hasta lo avanzado
3
Soporte para búsqueda por palabras clave, para localizar rápidamente la configuración deseada
4
Copia de un solo clic del código de configuración, para mejorar la eficiencia del trabajo
5
Explicaciones claras en chino, fáciles de entender y aprender
6
Navegación por categorías y filtrado, para encontrar rápidamente la configuración relacionada
7
Diseño responsivo, compatible con visualización en dispositivos móviles
8
Ejecución local, sin necesidad de conexión a internet

Preguntas frecuentes.

🔗Herramientas relacionadas.

Analizador de expresiones Cron

Verifica la sintaxis de Cron y previsualiza los próximos tiempos de ejecución

Herramientas para desarrolladores
Usar ahora

JSON a CSV

Convertir datos JSON al formato CSV

Convertidor
Usar ahora

JSON转YAML

Convertir datos JSON al formato YAML

Convertidor
Usar ahora

Convertidor de JSON a XML.

Convertir datos JSON al formato XML.

Convertidor
Usar ahora

YAML a JSON

Convertir la configuración YAML a datos en formato JSON.

Convertidor
Usar ahora

Formateador de JSON

Formatear, validar y comprimir datos JSON

Herramientas útiles de JSON
Usar ahora

Visualización de JSON

Mostrar datos JSON en una estructura de árbol

Herramientas útiles de JSON
Usar ahora

Generador de datos JSON.

Generar datos JSON simulados para pruebas.

Herramientas útiles de JSON
Usar ahora

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.

Herramientas útiles de JSON
Usar ahora

Diferencias de JSON

Comparar las diferencias entre dos datos JSON

Herramientas útiles de JSON
Usar ahora

Generador de códigos QR

Generar imágenes de código QR personalizadas

Herramientas de imágenes
Usar ahora

Generador de imágenes placeholder SVG

Generar imágenes placeholder SVG personalizadas

Herramientas de imágenes
Usar ahora

Convertidor de imágenes Base64

Herramienta de conversión entre imágenes y Base64

Herramientas de imágenes
Usar ahora

Generador de UUID

Generación en lote de UUID únicos.

Herramientas generadoras
Usar ahora

Generador de contraseñas

Genera contraseñas aleatorias seguras y fiables.

Herramientas generadoras
Usar ahora

Codificación y decodificación Base64

Herramienta de codificación y decodificación de cadenas Base64

Herramientas de texto
Usar ahora

Codificación y decodificación de URL

Herramienta de codificación y decodificación de cadenas URL

Herramientas de texto
Usar ahora

Generador de hash MD5

Herramienta para generar valores hash MD5

Herramientas de cifrado
Usar ahora

Generador de hash SHA256

Herramienta para generar hash SHA256

Herramientas de cifrado
Usar ahora

Generador de hash SHA1.

Herramienta para generar hash SHA1.

Herramientas de cifrado
Usar ahora

Codificador/decodificador hexadecimal.

Herramienta de codificación/decodificación de cadenas hexadecimales.

Herramientas de cifrado
Usar ahora

Decodificador binario

Herramienta de codificación/decodificación de cadenas binarias

Herramientas de cifrado
Usar ahora

Cifrador/Descifrador AES

Herramienta de cifrado/descifrado con el algoritmo simétrico AES

Herramientas de cifrado
Usar ahora

Herramienta de cifrado RSA (criptografía asimétrica)

Herramienta de criptografía RSA (cifrado asimétrico)

Herramientas de cifrado
Usar ahora

Generador de HMAC

Generador de código de autenticación de mensajes HMAC

Herramientas de cifrado
Usar ahora

Búsqueda de direcciones IP

Consultar la ubicación geográfica y la información de red de una dirección IP

Herramientas de red
Usar ahora

Conversor de milisegundos

Convierte entre una marca de tiempo en milisegundos y la cadena yyyy-MM-dd HH:mm:ss.

Herramientas de tiempo
Usar ahora
Mostrar 27 herramientas, en total 28 disponibles
    Tabla de referencia rápida de configuraciones de Nginx - Referencia rápida para configuraciones comunes - IT Tools Collection