Node.js提供了强大的中间件处理功能,可以在请求到达服务器之前做预先检测和相应处理,对于spring boot是一大补足,今天在项目中试图将两者结合起来配合使用,以下记录我的学习过程。
如下是我的文件目录结构:
先按照已有方法配置package.json文件,其中必须有:
"http-proxy-middleware": "latest" 以引入
http-proxy-middleware组件,可以转发node中间件接受到的http请求。
然后在app.js(node中间件)中引用此组件:
let proxy = require(
'http-proxy-middleware')
; 之后使用该组件实现请求转发:
var options = {
target:
'http://localhost:8080', // 目标主机
changeOrigin:
true, // 需要虚拟主机站点
}
;
var exampleProxy =
proxy(options)
; //开启代理功能,并加载配置app.use(‘/‘, exampleProxy);//对地址为’/‘的请求全部转发
app.
use(
'/user', exampleProxy)
; 有些关于app.js中间价的配置已经省略,此处只呈现了关键的与转发有关代码,其他中间件的请求处理需要另外学习。
经过如此配置,便可以将发送到node中间件的所有URL路径为“/”的http请求转发给localhost:8080,实现了这个机制,中间件的运用便可以灵活自如,大大保证了服务端的安全性和接受到http的可靠性,甚至可以改善浏览器端的体验。