node-21-代理

简介: http-proxy-middlewareexpress中间件万变不离其宗 有空多看看文档

1.前言


http-proxy-middleware

express中间件

万变不离其宗 有空多看看文档


2.http-proxy-middleware


这是第三方的记得安装

80服务器


// 向8080 端口发送的请求 都会被代理到9090端口
app.use('/list', createProxyMiddleware({
    target: 'http://localhost:9090',
    changeOrigin: true
})
);
app.listen(8080, function () {
    console.log("8080服务启动");
})
90服务器


app.get('/list', function (req, res) {
    res.send("<h1> list 页面</h1>")
})
app.listen(9090, function () {
    console.log("9090服务启动");
})



3.调试


`A2K2N88MP87R{B0_(QWXB8.png



4.代理配置


好好看哦 后续vue react等框架都后台 node搭的服务 ,会配置代理的哦


// 向8080 端口发送的请求 都会被代理到9090端口
app.use('/api', createProxyMiddleware({
    target: 'http://localhost:9090',
    changeOrigin: true,
    pathRewrite: {
        '^/api': ''
      }
}));



5.调试


1%9T{SLJYGV}QO4]NJ4}BSX.png


6.实战


代理服务器都是做数据周转的,那肯定有个真实的服务器

网易新闻代理

html

这个地址是假的


$.ajax({
                type: "get",
                url: "/netease/nc/article/XXX",
                data: {x:10,y:20},
                dataType: "json",
                success: function (response) {
                    console.log(response)   
                }
            });
服务器


app.use("/netease",createProxyMiddleware({
    target: 'http://c.m.163.com',
    changeOrigin: true,
    pathRewrite: {
        '^/netease': ''
      }
}));


百度代理

基于百度服务API来写的

因为直接ajax请求会跨域  需要代理

html


$.ajax({
                type: "get",
                url: "/baidu/place/v2/search",
                data:{
                    query:"ATM机",
                    tag:"银行",
                    region:"郑州",
                    output:"json",
                   ak:"你自己的ak哦"
                },
                success: function (response) {
                    console.log("r:",response)   
                }
            });

服务端


app.use("/baidu",createProxyMiddleware({
    target: 'http://api.map.baidu.com',
    changeOrigin: true,
    pathRewrite: {
        '^/baidu': ''
      }
}));




相关文章
|
2月前
|
数据采集 JavaScript 前端开发
利用axios库在Node.js中进行代理请求的实践
利用axios库在Node.js中进行代理请求的实践
|
7月前
|
存储 缓存 JavaScript
Node.js 包管理器代理工具 Verdaccio 使用介绍
Node.js 包管理器代理工具 Verdaccio 使用介绍
133 1
|
搜索推荐 中间件
node实现代理的中间件
node实现代理的中间件
node实现代理的中间件
|
Kubernetes 容器 Perl
kubernetes中port、target port、node port的对比分析,以及kube-proxy代理
容器网络实例 服务中的3个端口设置 这几个port的概念很容易混淆,比如创建如下service: [plain] view plain copy apiVersion: v1 kind: Service metadata: labels: name: app1 name: app.
1735 0
|
20天前
|
JSON JavaScript 前端开发
❤Nodejs 第九章(token身份认证和express-jwt的安装认识)
【4月更文挑战第9天】Node.js第九章介绍了Token身份认证,特别是JWT(JSON Web Token)作为跨域认证的解决方案。JWT由Header、Payload和Signature三部分组成,用于在客户端和服务器间安全传输用户信息。前端收到JWT后存储在localStorage或sessionStorage中,并在请求头中发送。Express-JWT是一个中间件,用于解析JWT。基本用法包括设置secret和algorithms。注意安全问题,避免混合使用不同算法以防止降级攻击。
39 0
|
1月前
|
JavaScript Windows
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
62 0
|
1天前
|
移动开发 JavaScript 前端开发
为了学习vue3,安装nvm进行node的多版本管理
为了学习vue3,安装nvm进行node的多版本管理
10 2
|
2天前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
12 0
|
13天前
|
JavaScript 前端开发 Linux
Node.js安装与配置
`Node.js` 是一个基于 `Chrome V8` 引擎的 `JavaScript` 运行环境,它允许开发者使用 `JavaScript` 编写服务器端代码。以下是 `Node.js` 的安装与配置的详细步骤:
Node.js安装与配置