umi build 打包后production工程发布到xampp或node服务, 代理proxy的设置流程;

news2024/11/26 8:27:59

umi发布打包会有代理问题,官方没给出具体操作步骤;下面介绍两种运行环境proxy的设置方法;

核心问题,为什么本地dev环境可以代理成功,而放在服务器或xampp上,或nginx 上就不能正常访问其它端口或链接;

本质问题是浏览器的同源策略;

1:dev环境用本地的proxy代理解决了同源问题;umi官方api有介绍;

2:我们生成环境需要解决的同源问题;

这里准确来讲应该属于运维来处理此问题;但是我们也得知道如何处理;

1:用node启的服务; 

/**
 * Created by xj on 2019/3/24.
 */
const Koa = require("koa");
const bodyParser = require("koa-bodyparser");
const Nunjucks = require("nunjucks");
const views = require("koa-views");
const debug = require("debug")("koa-weapp-demo");
const config = require("./config");
// const router = require("./router");
const Router = require("koa-router")();
const path = require("path");
const moment = require("moment");
const app = new Koa();
const { createProxyMiddleware } = require("http-proxy-middleware");
const Koa2Connect = require("koa2-connect");
//打印
const logger = require("koa-logger");
app.use(logger());
const __static = require("koa-static");
// parse request body:
app.use(bodyParser());
app.use((ctx, next) => {
  const start = Date.now();
  return next().then(async () => {
    const ms = Date.now() - start;
    if (ctx.response.status == 200 || ctx.response.status == 302) {
      return;
    } else {
      ctx.redirect("/404");
    }
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  });
});

const exampleProxy = createProxyMiddleware({
  pathFilter: "/api",
  // 匹配以/api开头的路径
  pathRewrite: { "/api": "" },
  // 把/api去除掉
  target: "http://localhost:3000/",
  // target host with the same base path
  changeOrigin: true,
  // needed for virtual hosted sites
});

app.use(__static(__dirname + "/public"));
app
  // .use(router.routes())
  // .use(router.allowedMethods())
  .use(Koa2Connect(exampleProxy))
  .listen(config.port, () => {
    debug(`listening on port ${config.port}`),
      console.log(`listening on port ${config.port}`);
  });

根据文件下载需要的依赖,不用的可以不下,这是个以前项目复制出来的模板,没删,需要啥用啥;

这里需要代理prox 相关的,static ,公共文件相关的,koa2-connect处理express 的prox相关的(类似把express转义成koa可用的包);

简单来说就是把umi打包好的静态文件放public里面;直接跑;代理的配置看一眼都懂,在代码配置里;

2:xampp

静态文件放hotdocs里;

修改apache配置文件httpd.conf

 

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_http2_module modules/mod_proxy_http2.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

照着设置#就行,该去的去该留的留;

然后是下面这个proxy文件

 

重启apache;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2208430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

光明乳业乳品四厂勇闯TPM世界级奖终审,开创中国乳品行业新纪元

近日,中国乳品行业的标志性事件在光明乳业乳品四厂隆重上演,该厂迎来了TPM(全面生产维护)世界级奖项的终审评审,这不仅是光明乳业发展历程中的重大突破,也是中国乳品行业首次冲击该领域最高荣誉——TPM世界…

另一个ssh server, handy-sshd

Handy-SSHD 是一个轻量级、高性能的 SSH 服务器解决方案,旨在为开发者和系统管理员提供便捷的远程访问功能。它基于现代加密技术,确保数据传输的安全性和保密性。Handy-SSHD 具有简单易用的配置选项,支持多种认证方式,包括密码和公…

光伏项目难管理的问题如何解决?

1.数字化管理平台的应用 数字化是当前解决光伏项目管理难题的关键手段之一。通过建立统一的数字化管理平台,可以实现对光伏电站的远程监控、数据分析、故障预警及运维调度等功能。这类平台通常集成有智能算法,能够实时分析电站运行数据,及时…

【Python】 列表解析 语法 实例展示 说明统统一顿明白!!!

列表解析 根据已有列表,高效创建新列表的方式。 列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。 语法: [expression for iter_val in iterable] [expression for iter_val in iterable if con…

动态规划——多状态动态规划问题

目录 一、打家劫舍 二、打家劫舍 II 三、删除并获得点数 四、粉刷房子 五、买卖股票的最佳时机含冷冻期 六、买卖股票的最佳时机含手续费 七、买卖股票的最佳时机III 八、买卖股票的最佳时机IV 一、打家劫舍 打家劫舍 第一步:确定状态表示 当我们每次…

navicat下载教程(包会的)

官网地址:Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版 第三方官网:https://pan.baidu.com/s/1kTgxwX84TPEqVfals38Mvw 一、下载navicat安装包 步骤1---试用版本 步骤2---下载windws系统的navicat 步骤3---查看安装…

ES6总结

1.let和const以及与var区别 1.1 作用域 var: 变量提升(Hoisting):var 声明的变量会被提升到其作用域的顶部,但赋值不会提升。这意味着你可以在声明之前引用该变量(但会得到 undefined)。 con…

闯关leetcode——88. Merge Sorted Array

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/merge-sorted-array/description/ 内容 You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements …

计量校准公司对校准工程师,会有什么资质要求?

计量校准是指利用一些计量校准工具,对机器、仪器等进行测量和校准。来实现基本功能的正常使用。计量校准安排,是指根据委托方的要求,按照计量器具校准标准,向社会提供计量器具校准服务的安排。今天,我们就来看看计量校…

Django的请求与响应

Django的请求与响应 1、常见的请求2、常见的响应3、案例 1、常见的请求 函数的参数request是一个对象,封装了用户发送过来的所有请求相关数据。 get请求一般用来请求获取数据,get请求也可以传参到后台,但是传递的参数显示在地址栏。 post请求…

INDEMIND:扫地机器人,保“鲜”不保“熟”

从家庭“必备”到边角“鸡肋”。 新鲜却不保“熟” 作为新时代的网红产品,扫地机器人成为了很多装修攻略中的必备单品,但当年轻人真正使用后,心中却不免疑问,这真的是自己听到的那个“六边形战士”? 与所畅想的“甩手…

基于yolov8、yolov5的PCB板缺陷检测系统(含UI界面、数据集、训练好的模型、Python代码)

blog.csdnimg.cn/direct/6f53422ed9fd44dc8daad6dc5481c4c9.png) 项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 , 直接提供最少两个训练好的模型…

无人机之视觉技术篇

一、视觉传感器的类型 摄像头: 最常见的视觉传感器,能够捕捉可见光图像和视频。 通过单目、双目或多目摄像头的组合,无人机能够实现立体视觉,从而估算距离、深度,并进行物体识别和追踪。 红外传感器: …

猿人学— 第一届第1题(解题思路附源码)

猿人学 — 第1届第1题(解题思路附源码) F12进入开发者工具—> 发现停止在debugger处 —> 右键点击Never pause here后下一步 翻页,抓包后发现请求携带page和m两个参数,page应该就是页数,m则需要逆向 依次查找…

24.6 监控系统在采集侧对接运维平台

本节重点介绍 : 监控系统在采集侧对接运维平台 服务树充当监控系统的上游数据提供者在运维平台上 可以配置采集任务 exporter改造成探针型将给exporter传参和修改prometheus scrape配置等操作页面化 监控系统在采集侧对接运维平台 服务树充当监控系统的上游数据提供者在运…

web 0基础第二节 列表标签

1.有序列表 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>有序列表 比较重要</title>…

低代码BPM流程引擎:赋能业务流程的高效工具

什么是低代码BPM流程引擎&#xff1f; 低代码BPM流程引擎是一种通过图形化界面和简单配置&#xff0c;允许用户快速设计、管理和优化业务流程的软件工具。与传统的BPM解决方案相比&#xff0c;低代码平台降低了对专业开发人员的依赖&#xff0c;让业务人员也能参与到流程设计中…

Vivado - 在硬件中调试 Serial I/O (IBERT)

目录 1. 简介 2. 硬件平台 2.1 ZCU102 2.1.1 Clock Sources & Destinations 2.2 ZCU106 2.2.1 Clock Sources & Destinations 2.2.2 IP 配置 2.2.3 约束 3. 结果 3.1 创建 Links 3.1.1 IBERT UI 3.1.2 创建 Links 3.1.3 配置链路 3.1.4 扫描参数 3.1.5 …

国产AI工具「神笔马良」!只需上传剧本,AI一键成片!(附保姆级教程)

大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~&#xff08;AI资料点文末卡片自取&#xff09; 记得 AI 视频刚…

使用阿里巴巴的图

参考链接1 引用彩色图标可参考以下链接 &#xff08;到第三步 测试图标效果 的时候 还是可以保持之前的写法&#xff1a;<i/sapn class“iconfont icon-xxx”>也会出现彩色的&#xff09; 参考链接2 阿里巴巴字体使用 也可以直接将官网的代码复制过来到页面的css区域