Nginx 配置速查
Nginx 常用配置片段速查表,快速查找和复制配置代码
自动设置工作进程数(通常等于CPU核心数)
worker_processes auto;
设置每个工作进程的最大连接数
events {
worker_connections 1024;
}包含 MIME 类型配置
include /etc/nginx/mime.types; default_type application/octet-stream;
启用高效文件传输
sendfile on; tcp_nopush on; tcp_nodelay on;
设置长连接超时时间
keepalive_timeout 65;
设置客户端请求体最大大小
client_max_body_size 100M;
隐藏 Nginx 版本号
server_tokens off;
基础 Server 块配置
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
}配置多个域名
server_name example.com www.example.com;
配置通配符域名
server_name *.example.com;
设置默认服务器
listen 80 default_server;
监听 IPv6 地址
listen [::]:80;
设置根目录或别名
root /var/www/html; # 或使用 alias alias /var/www/files/;
精确匹配路径
location = /path {
# 精确匹配
}前缀匹配路径
location /api/ {
# 前缀匹配
}正则表达式匹配
location ~ \.php$ {
# 正则匹配(区分大小写)
}不区分大小写的正则匹配
location ~* \.(jpg|jpeg|png|gif)$ {
# 正则匹配(不区分大小写)
}优先前缀匹配(优先于正则)
location ^~ /images/ {
# 优先前缀匹配
}尝试文件顺序(SPA 应用常用)
location / {
try_files $uri $uri/ /index.html;
}仅允许内部请求访问
location /internal/ {
internal;
}基础反向代理配置
location /api/ {
proxy_pass http://backend:3000/;
}设置代理请求头
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;
WebSocket 代理配置
location /ws/ {
proxy_pass http://backend:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}定义上游服务器组
upstream backend {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
keepalive 32;
}负载均衡配置
upstream backend {
least_conn; # 或 ip_hash;
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}代理超时设置
proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s;
代理缓冲区配置
proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4k;
基础 SSL 配置
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
}设置 SSL 协议版本
ssl_protocols TLSv1.2 TLSv1.3;
设置加密套件
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on;
SSL 会话缓存
ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d;
HTTP 重定向到 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}启用 HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
启用 OCSP Stapling
ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s;
静态资源缓存
location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}禁用缓存
location /api/ {
add_header Cache-Control "no-store, no-cache, must-revalidate";
}代理缓存配置
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;
}启用 ETag
etag on;
启用条件请求
if_modified_since before;
基础 Gzip 压缩配置
gzip on; gzip_vary on; gzip_min_length 1024; gzip_comp_level 6;
设置压缩的 MIME 类型
gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;
对代理请求启用压缩
gzip_proxied any;
启用预压缩文件
gzip_static on;
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";
XSS 和点击劫持防护
add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options SAMEORIGIN;
内容安全策略
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";
请求速率限制
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
location /api/ {
limit_req zone=one burst=20 nodelay;
}禁止访问隐藏文件
location ~ /\. {
deny all;
}IP 白名单
location /admin/ {
allow 192.168.1.0/24;
deny all;
}访问日志配置
access_log /var/log/nginx/access.log;
错误日志配置
error_log /var/log/nginx/error.log warn;
自定义日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';JSON 格式日志
log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';禁用访问日志
access_log off;
条件日志(只记录错误)
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;文件描述符缓存
open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2;
启用多连接接受和 epoll
events {
multi_accept on;
use epoll;
}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;
}连接数限制
limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 100;
超时优化
client_body_timeout 12; client_header_timeout 12; send_timeout 10;
📖工具介绍
功能特点
❓常见问题
🔗相关工具
Cron 表达式解析器
校验 Cron 语法并预览即将执行的时间。
JSON转CSV
将JSON数据转换为CSV格式
JSON转YAML
将JSON数据转换为YAML格式
JSON转XML转换器
将JSON数据转换为XML格式
YAML转JSON
将YAML配置转换为JSON格式数据
JSON格式化器
格式化、验证和压缩JSON数据
JSON可视化
以树形结构展示JSON数据
JSON数据生成器
生成模拟JSON数据用于测试
i18n JSON 翻译器
一次性翻译整个 JSON 语言文件。粘贴您的基础内容,选择目标语言,工具将使用扁平化的键调用您的 OpenRouter API。
JSON差异对比
比较两个JSON数据的差异
二维码生成器
生成自定义二维码图片
SVG占位图生成器
生成自定义SVG占位图片
Base64图片转换器
图片与Base64编码相互转换工具
UUID生成器
批量生成UUID唯一标识符
密码生成器
生成安全可靠的随机密码
Base64 编码解码
Base64 字符串编码和解码工具
URL 编码解码
URL 字符串编码和解码工具
MD5哈希生成器
生成MD5哈希值的工具
SHA256哈希生成器
生成SHA256哈希值的工具
SHA1哈希生成器
生成SHA1哈希值的工具
Hex编码解码器
十六进制字符串编码解码工具
Binary编码解码器
二进制字符串编码解码工具
AES加密解密器
AES对称加密算法加密解密工具
RSA加密解密器
RSA非对称加密算法工具
HMAC生成器
HMAC消息认证码生成工具
IP地址查询
查询IP地址的地理位置和网络信息
毫秒时间转换器
在毫秒时间戳与 yyyy-MM-dd HH:mm:ss 字符串之间转换。