type
Post
status
Published
date
Jan 12, 2026
slug
summary
tags
开发
category
技术分享
icon
password
Place
大家好,我是凌览。
- 个人网站:blog.code24.top
- 去水印下载鸭:nologo.code.top
如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连(
点赞、评论、转发),给我一些支持和鼓励谢谢。前言
已有一个去水印下载鸭后端服务,域名配置、服务器端口均已配置稳定。
现在我另有一个后端服务,假设取名叫去水印下载鸭后端服务Pro。
现在需要去水印下载鸭后端服务、去水印下载鸭后端服务Pro部署在同一台服务器,并且两者都通过80、443公开端口对外访问。这时大多选择Nginx反向代理让去水印下载鸭后端服务、去水印下载鸭后端服务Pro共用一个门牌号,流量自动分流,证书复用。
对于并发量大的后台选择Nginx没毛病,但对流量小到连“并发”俩字都嫌重,再搬出 Nginx 就是拿青龙偃月刀切葱花——刀好,但真没必要。
Node 玩家直接
http-proxy-middleware 一把梭,省出配 nginx 的功夫,早把需求迭代上线了。本文就来介绍怎样用
http-proxy-middleware 三分钟搭好反向代理,让“去水印下载鸭”与“Pro 版”同吃 80/443,零 Nginx、低配置。http-proxy-middleware是什么
http-proxy-middleware是一个基于 Express.js 框架的中间件,它能够将一个或多个 HTTP 请求代理到另一个服务器上。常用场景如:前端开发遇到跨域问题时,通过配置http-proxy-middleware,可以将前端请求代理到后端服务器,从而巧妙地避开浏览器的跨域限制。
安装与基础使用
首先安装http-proxy-middleware:
安装完成后,我们就可以在项目中引入并使用它了。以下是一个简单的 Express 应用中使用http-proxy-middleware代理请求的示例:
运用到实际项目
去水印下载鸭后端服务跑在 3000,在生产环境中会占住公网 80;去水印下载鸭后端服务Pro躲在 3010,只对内敞开。现在把
http-proxy-middleware 直接塞进3000去水印下载鸭后端服务,只加一条路由规则:接口一旦撞上
/api/gold-price/*/**,当场被悄悄转给3010端口服务。在middleware目录创建
proxyGoldPrice.js 文件,Express中间件配置放置在一起.
proxyGoldPrice.js内容:
在上述代码中,我们通过createProxyMiddleware函数创建了一个代理中间件。当应用接收到以/api/gold-price开头的请求时,它会自动将该请求转发到http://127.0.0.1:3010。
举个例子:
访问
http://127.0.0.1:3000/api/gold-price/realtime时,命中app.use('/api/gold-price', proxyGoldPrice)路由,http-proxy-middleware会把http://127.0.0.1:3000/api/gold-price/realtime转发到http://127.0.0.1:3010/realtime。上述例子中转发后的访问的是
http://127.0.0.1:3010/realtime,但在去水印下载鸭后端服务Pro路由前缀都有/api/gold-price,所以会出错没找到对应路由。pathRewrite则是解决些问题的配置,它用于路径重写:表示把
/替换成/api/gold-price/。转发后路径就是http://127.0.0.1:3010/api/gold-price/realtime。该字段可配可不配,取决于你的目标服务器。好了,http-proxy-middleware基础使用方法介绍完毕。有不同代理需求功能可以移步看它的官方文档。
工具对比
来个简单对比:
特性 | http-proxy-middleware | http-proxy | nginx |
配置复杂度 | 中等 | 高 | 高 |
Node.js 集成 | 优秀 | 优秀 | 需要单独进程 |
开发便利性 | 优秀 | 良好 | 一般 |
性能 | 良好 | 优秀 | 优秀 |
WebSocket 支持 | 是 | 是 | 是 |
路径重写 | 是 | 有限 | 是 |
适用场景 | 轻量网关、Node 栈一体化 | 底层库、自定义代理逻辑 | 高并发、多语言、企业级网关 |
http-proxy-middleware是http-proxy二次封装,本质是一个东西。http-proxy-middleware的存在让http-proxy更易使用。
最后
通过在 Node.js 应用中集成 http-proxy-middleware 中间件,只需几行代码配置就能让多个后端服务共用 80/443 端口,实现请求分流和路由转发。相比 Nginx,这种方案配置简单、与 Node.js 深度集成、开发便利性高,特别适合流量不大的项目快速部署,避免"杀鸡用牛刀"的资源浪费。
Loading...




