114 字
1 分钟
Nginx 常用配置速查
2026-01-09

安装#

apt install -y nginx
systemctl start nginx
systemctl enable nginx
nginx -t

一、静态站点 / Vue SPA#

/etc/nginx/conf.d/spa.conf
server {
listen 80;
server_name example.com;
root /opt/app/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_set_header Host $http_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;
proxy_pass http://127.0.0.1:8080/;
}
}

二、SSL / HTTPS#

/etc/nginx/conf.d/ssl.conf
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /opt/cert/example.com.pem;
ssl_certificate_key /opt/cert/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000" always;
root /opt/app/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_set_header Host $http_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;
proxy_pass http://127.0.0.1:8080/;
}
}

三、反向代理服务#

/etc/nginx/conf.d/proxy.conf
server {
listen 80;
server_name app.example.com;
location / {
proxy_set_header Host $http_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;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_pass http://127.0.0.1:3000;
}
}

四、WebSocket 代理#

/etc/nginx/conf.d/ws.conf
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name ws.example.com;
location / {
proxy_set_header Host $http_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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_connect_timeout 60s;
proxy_read_timeout 3600s;
proxy_pass http://127.0.0.1:3001;
}
}

五、MinIO 反向代理#

MinIO 签名验证依赖 Host 头,必须正确透传,否则出现签名不匹配错误:

/etc/nginx/conf.d/minio.conf
server {
listen 9000;
server_name minio.example.com;
client_max_body_size 0;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9001;
}
}

六、TCP 流量转发(stream 模块)#

适用于转发 MySQL、Redis 等 TCP 服务,stream 块与 http 块同级:

/etc/nginx/nginx.conf
stream {
server {
listen 13306;
proxy_connect_timeout 1s;
proxy_timeout 300s;
proxy_pass 192.168.1.20:3306;
}
}
http {
# ...
}
NOTE

使用 stream 模块前需确认编译时包含了该模块:

nginx -V 2>&1 | grep with-stream
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Nginx 常用配置速查
https://blog.olinl.com/posts/nginx-config/
作者
顾拾柒
发布于
2026-01-09
许可协议
CC BY-NC-SA 4.0

目录