1、背景

由于在开发的过程中,我们经常需要访问测试/正式环境,会出现线上正常,本地访问不同

2、方案

方法一:

我们可以通过node作为中间件,解决这一问题。示例如下:

var express = require('express');
const { createProxyMiddleware} = require('http-proxy-middleware');
var app = express();
app.use('/api/', createProxyMiddleware({
target: 'https://xxx.xxx.com/',
secure:false,
changeOrigin: true, pathRewrite: {
'^/api': ''
} }));
app.listen(3000); console.log('Proxy server is listen at port 3000...');

针对以上说明:

"/api"的,接口以”/api”开头的才用代理,所以写请求接口时要使用“/api/xx/xx”的形式,使用代理后生成的请求路径就是’http://localhost:3000/api/xx/xx’.

"pathRewrite"里面的意思是:当实际需要请求的路径里面没有”/api“时. 就需要 pathRewrite,用’’^/api’’:’’, 把’/api’去掉, 这样既能有正确标识, 又能在请求到正确的路径。

我们通过访问浏览器在地址栏输入http://localhost:3000,测试我们的配置的代理是否生效。

然后,我们在开发的过程中就可以用http://localhost:3000来代替我们之前访问的api地址。

node 代理访问服务器的更多相关文章

  1. Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹——Jason niu

    #Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹 import urllib.request import os import random def ...

  2. python使用代理访问服务器

    python使用代理访问服务器主要有一下3个步骤: 1.创建一个代理处理器ProxyHandler: proxy_support = urllib.request.ProxyHandler(),Pro ...

  3. node代理遇到的坑记

    在进行前端mock地址代理时候,进行了webpack的node反向代理: 实际mock地址是:http://10.118.183.10/mock/hb/startwork/openredpacket ...

  4. NODE代理,yang

    const express = require('express'); const proxy = require('http-proxy-middleware');//引入代理中间件 const a ...

  5. 【运维】通过gotty实现网页代理访问服务器及K8S容器操作实践

    Gotty 是Golang编写的可以方便的共享系统终端为web应用,是一个灵活强大的通过web访问终端的工具.本文将主要通过搭建Gotty实现对K8S容器的访问操作,开发如果想要正常的进行容器访问以及 ...

  6. 006.udp转发包并代理访问服务器总结

    背景: 当加速器(client)拦截了游戏客户端发送的完整数据包(package)时,将package传给中间服务器(mid_server),经过自己的链路传输数据之后,中间服务器模拟游戏客户端将数据 ...

  7. Vue慕课网音乐项目随手记--node代理及数据抓取

    1.抓取数据 链接   https://y.qq.com/portal/playlist.html Parameters 通过上图能看到,qq音乐通过设置了refer和host来保护接口. 那么怎么才 ...

  8. node代理网络请求

    server.js var express = require('express') var axios = require('axios') var port = 9000; var app = e ...

  9. 〖Android〗代理与正常网络分开同步CyangenMod源码

    为了同步CyanogenMod源代码,你也学会了FQ,对吗? 通常 .repo/manifest.xml 文件有Google AOSP的Project,也有Github的Project: 访问Gith ...

  10. weblogic.servlet.proxy.HttpProxyServlet 进行代理设置

    1:代理访问服务器应用配置 A:192.168.0.11 B:192.168.0.12 访问:http://192.168.0.11:9001/test/test.jsp 代理服务直接代理访问: ht ...

随机推荐

  1. Gitee 码云与Git 交互

    一.进入码云官方网站,注册用户 官网地址:https://gitee.com/ 二.创建远程仓库 [1]点击右上角的 + 号进行创建

  2. flutter util---->常用的一些工具方法

    copy text to clipboard Clipboard.setData(ClipboardData(text: string)); since Flutter1.9, you can use ...

  3. kubernetes(k8s)安装命令行自动补全功能

    Ubuntu下安装命令 root@master1:~# apt install -y bash-completion Reading package lists... Done Building de ...

  4. [Java SE]Unicode解码

    文由 将ASCII等其他非Unicode字符与Unicode混合的"脏的.不规范的"编码文本转为正常文本. 源码 unicodetoString(String unicodeTex ...

  5. Redis读书笔记(二)

    Redis对象系统 Redis对象 字符串(String)的底层实现方式 直接保存整数值:字符串对象保存的是整数值,且可以用long类型来表示. embstr编码的SDS:字符串对象保存的是一个长度小 ...

  6. 彻底解决VSCode无法远程ssh,提示The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++

    彻底解决VSCode无法远程ssh,提示The remote host may not meet VS Code Server's prerequisites for glibc and libstd ...

  7. Get Your Wish

    Get Your Wish (https://www.luogu.com.cn/problem/P7262) 一个模拟题 解读一下题目:简单来说就是在现在重力的方向上,如果有水滴和电子元件就GG,否则 ...

  8. v-if与v-show

    v-if的特点 v-if:是真实的条件控制语句,每当我们满足条件的时候就会显示元素,不满足条件的时候不显示元素(不存在元素没有) v-if:有一套自己的条件控制语句v-if; v-else-if; v ...

  9. 开心档之MySQL 复制表

    MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT命令,是无法实现的. 本章节将为大家介绍如何完整 ...

  10. Nginx的负载均衡策略

    Nginx的负载均衡策略 个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top 共六种: 轮询.权重.ip ...