更新日志

Nginx 配置速查

Nginx 常用配置片段速查表,快速查找和复制配置代码

基础配置
7

自动设置工作进程数(通常等于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 块
6

基础 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 匹配
7

精确匹配路径

location = /path {
    # 精确匹配
}

前缀匹配路径

location /api/ {
    # 前缀匹配
}

正则表达式匹配

location ~ \.php$ {
    # 正则匹配(区分大小写)
}

不区分大小写的正则匹配

location ~* \.(jpg|jpeg|png|gif)$ {
    # 正则匹配(不区分大小写)
}

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

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

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

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

仅允许内部请求访问

location /internal/ {
    internal;
}
反向代理
7

基础反向代理配置

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

基础 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;
缓存配置
5

静态资源缓存

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 压缩
4

基础 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;
安全配置
6

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;
}
日志配置
6

访问日志配置

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;
性能优化
5

文件描述符缓存

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;

📖工具介绍

Nginx 配置速查是专为 Web 开发者和运维人员设计的 Nginx 配置快速参考工具。涵盖了从基础配置到高级优化的所有常用配置片段,按功能分类组织,支持快速搜索和一键复制。无论你是 Nginx 新手还是经验丰富的运维工程师,都能在这里快速找到需要的配置代码。

功能特点

1
10 大分类,覆盖 Nginx 所有常用配置场景
2
60+ 常用配置片段,从基础到高级全面收录
3
支持关键词搜索,快速定位所需配置
4
一键复制配置代码,提升工作效率
5
清晰的中文说明,易于理解和学习
6
分类浏览和筛选,快速找到相关配置
7
响应式设计,支持移动端查看
8
本地运行,无需网络即可使用

常见问题

🔗相关工具

Cron 表达式解析器

校验 Cron 语法并预览即将执行的时间。

开发者工具
立即使用

JSON转CSV

将JSON数据转换为CSV格式

转换器
立即使用

JSON转YAML

将JSON数据转换为YAML格式

转换器
立即使用

JSON转XML转换器

将JSON数据转换为XML格式

转换器
立即使用

YAML转JSON

将YAML配置转换为JSON格式数据

转换器
立即使用

JSON格式化器

格式化、验证和压缩JSON数据

JSON 实用工具
立即使用

JSON可视化

以树形结构展示JSON数据

JSON 实用工具
立即使用

JSON数据生成器

生成模拟JSON数据用于测试

JSON 实用工具
立即使用

i18n JSON 翻译器

一次性翻译整个 JSON 语言文件。粘贴您的基础内容,选择目标语言,工具将使用扁平化的键调用您的 OpenRouter API。

JSON 实用工具
立即使用

JSON差异对比

比较两个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 字符串之间转换。

时间工具
立即使用
显示 27 个工具,共 28 个可用
    Nginx 配置速查 - 常用配置快速参考 - IT Tools Collection