反向代理 Node.js 应用
Nginx 常用于反向代理 Node.js 应用,实现请求转发、负载均衡和安全控制。
一、基本反向代理配置
upstream node_app {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://node_app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
`
- upstream:定义后端 Node.js 服务
- proxy_pass:请求转发到 Node.js
- 支持 WebSocket,通过
Upgrade和Connection设置
二、负载均衡
upstream node_app {
least_conn;
server 127.0.0.1:3000;
server 127.0.0.1:3001;
}
- least_conn:将请求分配给连接数最少的后端,提高负载均衡效果
- 可根据需求选择
round-robin或ip_hash
三、性能优化
- 开启缓存和 Gzip 压缩,提高响应速度
- 配置
proxy_buffers和proxy_timeout,优化大请求传输 - 结合负载均衡和健康检查,提高高可用性
四、安全建议
- 配置 HTTPS,保障传输安全
- 限制请求速率和访问控制,防止恶意请求
- 独立日志记录 Node.js 请求,便于调试和监控
通过 Nginx 反向代理 Node.js 应用,可以实现高性能、高可用的 Web 服务架构,同时支持负载均衡和安全控制。
相关内容
- 备份与恢复 本节介绍 Nginx 配置备份与恢复方法,包括配置文件备份、日志备份、快速恢复和灾难恢复策略,保障服务安全可靠。
- 常用命令与服务管理 本节介绍常用的 nginx 命令与服务管理方法,包括启动、停止、重载、日志查看、配置检测等操作,帮助你熟练掌握 nginx 文档中的服务运维要点。
- Nginx 教程:目录结构与配置文件详解 本节 Nginx 教程详细介绍 nginx 目录结构与配置文件组成,帮助你掌握 nginx.conf、sites-enabled、logs 等常见路径及配置含义...
- Nginx 与 Docker 集成 本节介绍 Nginx 与 Docker 的集成方法,包括 Nginx 容器部署、配置卷挂载、端口映射和与后端服务协作,实现容器化高可用 Web 服务。
- FastCGI 工作原理 本节讲解 Nginx 与 FastCGI 的工作原理,包括请求转发、PHP-FPM 处理流程及数据交互方式,帮助你理解 nginx.conf 中动态内容处理机制...
- FastCGI 参数详解 本节详细讲解 Nginx 与 FastCGI 配合时的参数配置,包括 fastcgi_param 指令、标准参数与自定义参数,帮助你精确控制 PHP-FPM 请...