node解決跨域和服務器代理詳解代碼


node中有很多解決服務器代理的插件,這里簡介一個:express-http-proxy

 之前網上查的使用node解決跨域的插件,有很多,例如,cors,koa2,這里解決跨域問題我拿原生解決的,express-http-proxy作為服務器代理器來解決服務器代理的,一開始直接npm安裝,引入,配置,一頓操作猛如虎,結果還是報錯,最后發現才是版本為題,高版本不支持,后來改用1.6.0版本就好了,代碼如下:

const express = require('express');

const cors = require('cors');

const app = express();

const proxy = require("express-http-proxy");
//解決跨域問題
// 開發環境設置,生產環境需要配置安全的參數
app.use(cors());
 
// 反向代理(這里把需要進行反代的路徑配置到這里即可)
let opts = {
  preserveHostHdr: true,
  reqAsBuffer: true,
  reqBodyEncoding: null,
  //轉發之前觸發該方法
  proxyReqPathResolver: function (req, res) {
    //這個代理會把匹配到的url(下面的 ‘/api’等)去掉,轉發過去直接404,這里手動加回來,
    req.url = req.baseUrl + req.url;
    return require("url").parse(req.url).path;
  },
};
 
app.get('/', function (req, res) { res.status(200).send('hello itas109'); });
app.use("/api", proxy("http://*********.com", opts));
 
app.listen(8080);
OK,打完收工,有什么問題可以下面留言,歡迎提問!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM