欢迎光临
我们一直在努力

Nginx 反向代理与 HTTPS 配置最佳实践(2026)

前言

几乎所有 Node.js 项目最终都会经过 Nginx。

因为:

Nginx 不仅是 Web 服务器。

更是:

  • 反向代理
  • HTTPS 网关
  • 负载均衡器
  • 静态资源服务器

配置合理与否,会直接影响系统稳定性。


为什么不要直接暴露 Node 服务

错误方式:

用户

↓

3000端口

↓

Node.js

问题:

  • 无 HTTPS
  • 无缓存
  • 无限流
  • 不安全

推荐:

用户

↓

Nginx

↓

Node.js

所有请求先经过 Nginx。


基础反向代理

例如:

server {

listen 80;

server_name example.com;

location / {

proxy_pass http://127.0.0.1:3000;

}

}

访问:

https://example.com

实际上由 Node 服务处理。


推荐 Header 配置

很多教程都会忽略:

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

否则:

后端无法获取真实 IP。

日志会全部变成:

127.0.0.1

WebSocket 支持

如果:

Socket.IO

SSE

实时聊天

必须增加:

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

否则 WebSocket 会连接失败。


HTTPS 最佳实践

推荐:

Let’s Encrypt。

免费。

自动续期。

不要购买昂贵 SSL。

个人网站完全没有必要。


HTTP 自动跳转 HTTPS

推荐:

return 301 https://$host$request_uri;

避免:

HTTP

HTTPS

同时存在。

否则影响 SEO。


gzip 压缩

建议开启:

gzip on;

可减少:

CSS

JS

JSON

传输大小。

提高加载速度。


缓存策略

静态资源:

推荐缓存:

30 天。

例如:

css

js

png

jpg

接口请求:

不要缓存。

否则可能返回旧数据。


上传文件优化

默认:

1MB

很多文件上传会失败。

建议:

client_max_body_size 50M;

根据业务调整。


超时配置

AI 项目经常需要:

30~120 秒。

建议:

proxy_read_timeout 300;

否则:

模型返回较慢时。

Nginx 会提前断开连接。


SSE 流式输出配置

AI 应用越来越多使用:

Streaming。

必须关闭:

proxy_buffering off;

否则:

用户会发现:

内容全部一次性返回。

而不是逐字输出。

这是很多 AI 项目最容易踩的坑。


Cloudflare + Nginx

推荐架构:

用户

↓

Cloudflare

↓

Nginx

↓

Node

↓

Redis

↓

MySQL

这样:

  • HTTPS
  • CDN
  • WAF

全部都有。

稳定性明显提升。


安全建议

禁止暴露:

3000

3306

6379

公网只开放:

80

443

数据库不要暴露公网。

Redis 更不要暴露公网。

这是服务器安全最基本要求。


总结

很多开发者认为:

Node 才是核心。

实际上:

生产环境中,

Nginx 的重要性丝毫不亚于业务代码。

好的 Nginx 配置能够:

提高性能。

增强安全。

降低服务器压力。

对于长期维护的项目来说,这是必须掌握的基础能力。

赞(0)
未经允许不得转载:X记录空间 » Nginx 反向代理与 HTTPS 配置最佳实践(2026)