Nginx-Konfigurations-Quick-Reference
Nginx häufig verwendete Konfigurationsfragmente Schnellreferenz, zum schnellen Auffinden und Kopieren von Konfigurationscode
Automatische Einstellung der Anzahl der Arbeitsprozesse (normalerweise gleich der Anzahl der CPU-Kerne)
worker_processes auto;
Einstellen der maximalen Anzahl von Verbindungen pro Arbeitsprozess
events {
worker_connections 1024;
}MIME-Typ-Konfiguration einbinden
include /etc/nginx/mime.types; default_type application/octet-stream;
Effiziente Dateiübertragung aktivieren
sendfile on; tcp_nopush on; tcp_nodelay on;
Lange Verbindung Timeout Zeit einstellen
keepalive_timeout 65;
Maximale Größe des Client-Anfragetextes einstellen
client_max_body_size 100M;
Verbergen der Nginx-Version
server_tokens off;
Grundlegende Server-Block-Konfiguration
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
}Mehrere Domänen konfigurieren
server_name example.com www.example.com;
Konfiguration von Wildcard-Domänen
server_name *.example.com;
Standardserver einstellen
listen 80 default_server;
IPv6-Adresse überwachen
listen [::]:80;
Root-Verzeichnis oder Alias einstellen
root /var/www/html; # Oder mit alias alias /var/www/files/;
Genauer Pfadabgleich
location = /path {
# Genauer Abgleich
}Präfixpfadabgleich
location /api/ {
# Präfixabgleich
}Regulärer Ausdruck Abgleich
location ~ \.php$ {
# Regulärer Ausdruck (Groß-/Kleinschreibung beachtet)
}Groß-/Kleinschreibung unabhängig regulärer Ausdruck Abgleich
location ~* \.\(jpg|jpeg|png|gif)$ {
# Regulärer Ausdruck (Groß-/Kleinschreibung nicht beachtet)
}Prioritätspräfixübereinstimmung (vor regulären Ausdrücken)
location ^~ /images/ {\n # Prioritätspräfixübereinstimmung\n}Versuch der Dateiordnung (häufig bei SPA-Anwendungen)
location / {\n try_files $uri $uri/ /index.html;\n}Nur interne Anfragen dürfen zugreifen
location /internal/ {\n internal;\n}Grundlegende Reverse-Proxy-Konfiguration
location /api/ {\n proxy_pass http://backend:3000/;\n}Setzen der Proxy-Anfrage-Header
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-Proxy-Konfiguration
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}Definition der Upstream-Servergruppe
upstream backend {\n server 127.0.0.1:3000;\n server 127.0.0.1:3001;\n keepalive 32;\n}Lastenausgleichskonfiguration
upstream backend {\n least_conn; # oder ip_hash;\n server 127.0.0.1:3000;\n server 127.0.0.1:3001;\n}Proxy-Timeout-Einstellungen
proxy_connect_timeout 60s;\nproxy_send_timeout 60s;\nproxy_read_timeout 60s;
Proxy-Pufferkonfiguration
proxy_buffering on;\nproxy_buffer_size 4k;\nproxy_buffers 8 4k;
Grundlegende SSL-Konfiguration
server {\n listen 443 ssl http2;\n ssl_certificate /path/to/cert.pem;\n ssl_certificate_key /path/to/key.pem;\n}SSL-Protokollversion festlegen
ssl_protocols TLSv1.2 TLSv1.3;
Verschlüsselungssuite festlegen
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;\nssl_prefer_server_ciphers on;
SSL-Sitzungscache
ssl_session_cache shared:SSL:10m;\nssl_session_timeout 1d;
HTTP-Weiterleitung auf HTTPS
server {\n listen 80;\n server_name example.com;\n return 301 https://$server_name$request_uri;\n}HSTS aktivieren
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
OCSP Stapling aktivieren
ssl_stapling on;\nssl_stapling_verify on;\nresolver 8.8.8.8 8.8.4.4 valid=300s;
Statische Ressourcencaching
location ~* \.\(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2\)$ {\n expires 30d;\n add_header Cache-Control "public, immutable";\n}Caching deaktivieren
location /api/ {\n add_header Cache-Control "no-store, no-cache, must-revalidate";\n}Proxy-Caching-Konfiguration
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 aktivieren
etag on;
Bedingte Anfragen aktivieren
if_modified_since before;
Grundlegende Gzip-Komprimierungskonfiguration
gzip on;\ngzip_vary on;\ngzip_min_length 1024;\ngzip_comp_level 6;\n
Komprimierte MIME-Typen festlegen
gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;
Komprimierung für Proxy-Anfragen aktivieren
gzip_proxied any;
Vorverdichtete Dateien aktivieren
gzip_static on;
CORS-Cross-Origin-Konfiguration
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- und Clickjacking-Schutz
add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options SAMEORIGIN;
Inhaltssicherheitsrichtlinie
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";
Anforderungsrate beschränken
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
location /api/ {
limit_req zone=one burst=20 nodelay;
}Zugriff auf versteckte Dateien verweigern
location ~ /\.{
deny all;
}IP-Whitelist
location /admin/ {
allow 192.168.1.0/24;
deny all;
}Zugriffsprotokollkonfiguration
access_log /var/log/nginx/access.log;
Fehlerprotokollkonfiguration
error_log /var/log/nginx/error.log warn;
Benutzerdefiniertes Protokollformat
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-Protokoll
log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';Zugriffsprotokoll deaktivieren
access_log off;
Bedingtes Protokoll (nur Fehler protokollieren)
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;Dateideskriptor-Cache
open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2;
Mehrere Verbindungen akzeptieren und epoll aktivieren
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;
}Verbindungsanzahl begrenzen
limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 100;
Timeout-Optimierung
client_body_timeout 12; client_header_timeout 12; send_timeout 10;
📖Werkzeug-Einführung
Hauptfunktionen
❓Häufig gestellte Fragen
🔗Verwandte Werkzeuge
Cron-Ausdruck-Parser
Cron-Syntax validieren und bevorstehende Zeitpläne anzeigen.
JSON zu CSV
JSON-Daten in CSV-Format konvertieren
JSON zu YAML
JSON-Daten in YAML-Format konvertieren
JSON zu XML Konverter
JSON-Daten in das XML-Format konvertieren
YAML zu JSON
YAML-Konfigurationen in JSON-Daten konvertieren
JSON-Formatierer
JSON-Daten formatieren, validieren und minimieren
JSON-Visualisierer
JSON-Daten in Baumstruktur anzeigen
JSON-Datengenerator
Mock-JSON-Daten zum Testen generieren
i18n JSON Übersetzer
Übersetze komplette JSON-Locales mit wenigen Klicks. Basisdatei einfügen, Zielsprachen wählen und den OpenRouter-Dienst automatisch anstoßen.
JSON-Differenzvergleich
Unterschiede zwischen zwei JSON-Daten vergleichen
QR-Code-Generator
Benutzerdefinierte QR-Code-Bilder generieren
SVG-Platzhalter-Generator
Benutzerdefinierte SVG-Platzhalterbilder generieren
Base64-Bild-Konverter
Bilder in Base64-Kodierung konvertieren und umgekehrt
UUID-Generator
UUID-eindeutige Kennungen stapelweise generieren
Passwort-Generator
Sichere und zuverlässige Zufallspasswörter generieren
Base64-Encoder/Decoder
Base64-String-Kodierungs- und Dekodierungswerkzeug
URL-Encoder/Decoder
URL-String-Kodierungs- und Dekodierungswerkzeug
MD5-Hash-Generator
MD5-Hash-Werte aus Text generieren
SHA256-Hash-Generator
SHA256-Hash-Werte aus Text generieren
SHA1-Hash-Generator
SHA1-Hash-Werte aus Text generieren
Hex-Encoder/Decoder
Hexadezimale String-Kodierungs- und Dekodierungswerkzeug
Binär-Encoder/Decoder
Binäre String-Kodierungs- und Dekodierungswerkzeug
AES-Verschlüsselung/Entschlüsselung
AES-symmetrisches Verschlüsselungsalgorithmus-Werkzeug
RSA-Verschlüsselung/Entschlüsselung
RSA-asymmetrisches Verschlüsselungsalgorithmus-Werkzeug
HMAC-Generator
HMAC-Nachrichtenauthentifizierungscode-Generierungswerkzeug
IP-Adress-Abfrage
Geografische Lage und Netzwerkinformationen von IP-Adressen abfragen
Millisekunden-Zeit-Konverter
Zwischen Millisekunden-Zeitstempel und formatierten Datumszeichenfolgen konvertieren.