Registro de alterações

Nginx 配置速查

Kurta kichwa ya maelezo ya mazingira ya Nginx, kwa kufikia na kubadilisha kodi ya mazingira kwa haraka

Mazingira ya msingi
7

Kuweka idadi ya watumiaji kwa kawaida kama idadi ya kipande cha CPU

worker_processes auto;

Kuweka idadi ya uhusiano kwa kila watumiaji wa kazi

events {
    worker_connections 1024;
}

Kuingiza mazingira ya MIME

include /etc/nginx/mime.types;
default_type application/octet-stream;

Kuamsha usafirishaji wa faili wa kasi

sendfile on;
tcp_nopush on;
tcp_nodelay on;

Kuweka muda wa kumaliza uhusiano wa kubwa

keepalive_timeout 65;

Kuweka ukubwa wa kubwa wa maelezo ya mtu aliyechukua

client_max_body_size 100M;

Kuficha nambari ya toleo la Nginx

server_tokens off;
Kifaa cha Server
6

Mazingira ya msingi ya kifaa cha Server

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;
}

Kuweka mawasiliano mengi

server_name example.com www.example.com;

Kuweka mawasiliano ya wildcard

server_name *.example.com;

Kuweka mawasiliano ya msingi

listen 80 default_server;

Kuwa na mawasiliano kwa anwani ya IPv6

listen [::]:80;

Kuweka eneo la msingi au jina la kifupi

root /var/www/html;
# Au kutumia alias
alias /var/www/files/;
Ukubwa wa Location
7

Ukubwa wa kawaida wa njia

location = /path {
    # Ukubwa wa kawaida
}

Ukubwa wa kwanza wa njia

location /api/ {
    # Ukubwa wa kwanza
}

Ukubwa wa msimbo

location ~ \.php$ {
    # Ukubwa wa msimbo (kwa ukubwa wa herufi)
}

Ukubwa wa msimbo bila ukubwa wa herufi

location ~* \.\(jpg|jpeg|png|gif\)$ {
    # Ukubwa wa msimbo (bila ukubwa wa herufi)
}

优先前缀匹配(优先于正则)

location ^~ /images/ {\n    #优先前缀匹配\n}

尝试文件顺序(SPA 应用常用)

location / {\n    try_files $uri $uri/ /index.html;\n}

仅允许内部请求访问

location /internal/ {\n    internal;\n}
Kupitisha nyuma
7

基础反向代理配置

location /api/ {\n    proxy_pass http://backend:3000/;\n}

设置代理请求头

proxy_set_header Host $host;\nproxy_set_header X-Real-IP $remote_addr;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;

WebSocket 代理配置

location /ws/ {\n    proxy_pass http://backend:3000/;\n    proxy_http_version 1.1;\n    proxy_set_header Upgrade $http_upgrade;\n    proxy_set_header Connection "upgrade";\n}

定义上游服务器组

upstream backend {\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n    keepalive 32;\n}

负载均衡配置

upstream backend {\n    least_conn;  # 或 ip_hash;\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n}

代理超时设置

proxy_connect_timeout 60s;\nproxy_send_timeout 60s;\nproxy_read_timeout 60s;

代理缓冲区配置

proxy_buffering on;\nproxy_buffer_size 4k;\nproxy_buffers 8 4k;
SSL/HTTPS
7

基础 SSL 配置

server {\n    listen 443 ssl http2;\n    ssl_certificate /path/to/cert.pem;\n    ssl_certificate_key /path/to/key.pem;\n}

设置 SSL 协议版本

ssl_protocols TLSv1.2 TLSv1.3;

设置加密套件

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;\nssl_prefer_server_ciphers on;

SSL 会话缓存

ssl_session_cache shared:SSL:10m;\nssl_session_timeout 1d;

HTTP 重定向到 HTTPS

server {\n    listen 80;\n    server_name example.com;\n    return 301 https://$server_name$request_uri;\n}

启用 HSTS

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

启用 OCSP Stapling

ssl_stapling on;\nssl_stapling_verify on;\nresolver 8.8.8.8 8.8.4.4 valid=300s;
Mazingira ya kuhifadhi
5

静态资源缓存

location ~* \\.\.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2)$ {\n    expires 30d;\n    add_header Cache-Control "public, immutable";\n}

禁用缓存

location /api/ {\n    add_header Cache-Control "no-store, no-cache, must-revalidate";\n}

代理缓存配置

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g;\n\nlocation / {\n    proxy_cache my_cache;\n    proxy_cache_valid 200 1d;\n}

启用 ETag

etag on;

启用条件请求

if_modified_since before;
Ukuzaji wa Gzip
4

基础 Gzip 压缩配置

gzip on;\ngzip_vary on;\ngzip_min_length 1024;\ngzip_comp_level 6;

设置压缩的 MIME 类型

gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;

对代理请求启用压缩

gzip_proxied any;

Enable pre-compressed files

gzip_static on;
Mazingira ya usalama
6

CORS cross-origin configuration

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";

XSS and clickjacking protection

add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;

Content Security Policy

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";

Request rate limiting

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

location /api/ {
    limit_req zone=one burst=20 nodelay;
}

Block access to hidden files

location ~ /\. {
    deny all;
}

IP whitelist

location /admin/ {
    allow 192.168.1.0/24;
    deny all;
}
Mazingira ya ripoti
6

Access log configuration

access_log /var/log/nginx/access.log;

Error log configuration

error_log /var/log/nginx/error.log warn;

Custom log format

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

JSON format log

log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';

Disable access log

access_log off;

Conditional logging (log only errors)

map $status $loggable {
    ~^[23] 0;
    default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;
Ukubwa wa utendaji
5

File descriptor cache

open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;

Enable multi-accept and epoll

events {
    multi_accept on;
    use epoll;
}

FastCGI cache

fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fastcgi:10m;

location ~ \.php$ {
    fastcgi_cache fastcgi;
    fastcgi_cache_valid 200 1h;
}

Connection limit

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;

Timeout optimization

client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;

📖Introdução à ferramenta.

Nginx Configuration Quick Reference is a fast reference tool for web developers and operations engineers, designed to cover all common Nginx configuration snippets from basic to advanced, organized by functionality, supporting quick search and one-click copy. Whether you are a beginner or an experienced operations engineer, you can quickly find the required configuration code here.

Recursos.

1
10 major categories covering all common Nginx configuration scenarios
2
Over 60 common configuration snippets, comprehensively covering from basic to advanced
3
Supports keyword search to quickly locate required configurations
4
One-click copy configuration code to improve work efficiency
5
Clear Chinese explanations, easy to understand and learn
6
Categorized browsing and filtering to quickly find relevant configurations
7
Responsive design, supports mobile viewing
8
Local execution, usable without internet

Perguntas frequentes.

🔗Ferramentas relacionadas.

Analisador de expressões Cron

Valide a sintaxe Cron e pré-visualize os horários de execução futuros.

Ferramentas para desenvolvedores
Usar agora

JSON para CSV

Converter dados JSON para o formato CSV

Conversor
Usar agora

JSON para YAML

Converter dados JSON para o formato YAML

Conversor
Usar agora

Conversor de JSON para XML

Converter dados JSON para o formato XML

Conversor
Usar agora

YAML para JSON

Converter configuração YAML para dados no formato JSON

Conversor
Usar agora

Formatador de JSON

Formatar, validar e comprimir dados JSON

Ferramentas úteis de JSON
Usar agora

Visualização de JSON

Exibir dados JSON em estrutura de árvore

Ferramentas úteis de JSON
Usar agora

Gerador de dados JSON

Gerar dados JSON simulados para testes

Ferramentas úteis de JSON
Usar agora

Tradutor JSON i18n

Traduzir todo o arquivo de idioma JSON de uma só vez. Cole o conteúdo base, escolha o idioma-alvo; a ferramenta usará chaves achatadas para chamar a API OpenRouter.

Ferramentas úteis de JSON
Usar agora

Comparação de diferenças de JSON

Comparar as diferenças entre dois JSONs.

Ferramentas úteis de JSON
Usar agora

Gerador de código QR

Gerar imagem de código QR personalizada

Ferramentas de imagem
Usar agora

Gerador de imagens placeholder SVG

Gerar imagem placeholder SVG personalizada

Ferramentas de imagem
Usar agora

Conversor de imagens Base64

Ferramenta de conversão entre imagens e codificação Base64

Ferramentas de imagem
Usar agora

Gerador de UUID

Gerar UUIDs únicos em lote

Ferramentas geradoras
Usar agora

Gerador de senhas

Gerar senhas aleatórias seguras e confiáveis

Ferramentas geradoras
Usar agora

Codificação e decodificação Base64

Ferramenta de codificação e decodificação de strings Base64

Ferramentas de texto
Usar agora

Codificação/decodificação de URL

Ferramenta de codificação e decodificação de strings URL

Ferramentas de texto
Usar agora

Gerador de hash MD5

Ferramenta para gerar hash MD5

Ferramentas de criptografia
Usar agora

Gerador de hash SHA256

Ferramenta para gerar hash SHA256

Ferramentas de criptografia
Usar agora

Gerador de hash SHA1

Ferramenta para gerar hash SHA1

Ferramentas de criptografia
Usar agora

Codificador/decodificador hexadecimal

Ferramenta de codificação/decodificação de strings hexadecimal

Ferramentas de criptografia
Usar agora

Codificador/decodificador binário

Ferramenta de codificação/decodificação de strings binárias

Ferramentas de criptografia
Usar agora

Criptografador/Descriptografador AES

Ferramenta de criptografia e descriptografia AES (algoritmo de criptografia simétrica)

Ferramentas de criptografia
Usar agora

Ferramenta de criptografia/descriptografia RSA

Ferramenta de criptografia RSA assimétrica

Ferramentas de criptografia
Usar agora

Gerador de HMAC

Gerador de código de autenticação de mensagem HMAC.

Ferramentas de criptografia
Usar agora

Consulta de endereço IP

Localização geográfica e informações de rede do endereço IP

Ferramentas de rede
Usar agora

Conversor de milissegundos

Converte entre carimbo de tempo em milissegundos e a string yyyy-MM-dd HH:mm:ss.

Ferramentas de tempo
Usar agora
Exibindo 27 ferramentas, total de 28 disponíveis
    Kubaini ya mazingira ya Nginx - Kumbukumbu ya kubaini ya mazingira yanayotumika mara kwa mara - IT Tools Collection