乾坤微服务子项目图片资源加载失败

2023-11-16

一、背景

子项目单独运行时正常;放在乾坤上,<img />加载图片时失败

二、分析原因

假设乾坤项目域名为 http://www.aaa.com,子项目域名为 http://www.bbb.com
项目实际运行时,图片的 html 写法为<img src="/assets/xxx.png" />
单独运行时,src 映射为 http://www.bbb.com/assets/xxx.png,这样没问题;
在乾坤中运行时,src 映射为 http://www.aaa.com/assets/xxx.png,就会找不到资源。

三、疑问

js 和 css 同样作为静态资源,为什么没有此类问题。
答:乾坤对此类资源做了解析处理,因此可以正常访问到。

四、解决

目前有三种解决方案,供参考

1. 使用cdn

将图片资源放到第三方服务器上,代码内直接对其引入

  • 优点:简单省事
  • 缺点:需要有相应条件支持

2. 图片以base64打包

把webpack中打包阈值调得非常大,使任何资源都打包为base64

  • 优点:基本可以一劳永逸解决此类问题
  • 缺点:会使代码体积增大,如果大图较多,会影响加载速度

3. 使用代理转发

  1. webpack 中配置图片资源的 publicPath,使打包时给图片资源加统一前缀,如:/assets/xxx.png => /img-api/assets/xxx.png
  2. 配置乾坤项目的 nginx,根据 /img-api 前缀,将地址转发到子项目服务器
  3. 如果子项目仍需单独运行,那么也要配置子项目 nginx
  • 优点:比较中肯的一种方式
  • 缺点:需要运维配合
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

乾坤微服务子项目图片资源加载失败 的相关文章

  • Eureka与Zookeeper的区别

    著名的CAP 理论指出 一个分布式系统不可能同时满足 C 一致性 A 可用性 和 P 分区容错性 由于分区容错性在是分布式系统中必须要保证的 因此我们只能在 A 和 C 之间进行权衡 在此 Zookeeper 保证的是 CP 而 Eurek
  • Admin监控&Sleuth链路追踪 &skywalking链路追踪

    Admin监控 Sleuth链路追踪 skywalking Sleuth Zipkin 一 Sleuth Zipkin介绍 二 搭建环境 三 Sleuth入门操作 四 Zipkin搭建及操作 五 RabbitMQ方式发送信息 六 Elast
  • springcloud常见面试题(2023最新)

    目录 前言 一 微服务 1 微服务是什么 2 你知道哪些RPC框架 3 springCloud和Dubbo有什么区别 4 SpringCloud由什么组成 二 Spring Cloud Eureka 1 Eureka包含几个组件 2 Eur
  • 微服务初始

    今天准备开始学习微服务 使用微服务肯定是因为他有好处 首先了解到的三种架构 传统单体 集群架构 微服务架构 单体架构 有单点问题 如果宕机所有的服务都不可用 所有业务的功能模块都聚集在一起 如果代码量多 功能之前如果有很多共同的代码 不同业
  • JWT快速入门及所需依赖

    目录 1 JWT 1 1什么是JWT 1 2JWT的构成 jwt的头部 payload signature 1 3JWT快速入门案例 2Jwt认证 微服务 2 1微服务下统一权限认证 2 2应用认证 3 无状态的JWT令牌如何实现续签功能
  • SpringCluod深入教程

    1 Nacos配置管理 Nacos除了可以做注册中心 同样可以做配置管理来使用 1 1 统一配置管理 当微服务部署的实例越来越多 达到数十 数百时 逐个修改微服务配置就会让人抓狂 而且很容易出错 我们需要一种统一配置管理方案 可以集中管理所
  • MQTT-java使用说明

    MQTT java使用说明 本文的资料下载 链接 https pan baidu com s 1OCfsQ NqcehKy86kYkA wg pwd 1234 提取码 1234 MQTT基本介绍 MQTT是一个客户端服务端架构的发布 订阅模
  • 云原生微服务应用的平台工程实践

    作者 纳海 01 微服务应用云原生化 微服务是一个广泛使用的应用架构 而如何使得微服务应用云原生化却是近些年一直在演进的课题 国内外云厂商对云原生概念的诠释大同小异 基本都会遵循 CNCF 基金会的定义 云原生技术有利于各组织在公有云 私有
  • 基于SpringBoot-Dubbo的微服务快速开发框架

    简介 基于Dubbo的分布式 微服务基础框架 为前端提供脚手架开发服务 结合前一篇 Web AP快速开发基础框架 可快速上手基于Dubbo的分布式服务开发 项目代码 https github com backkoms web service
  • Nacos安装配置详细流程

    快速导航 1 Nacos安装 1 1概述 1 2 下载 1 3 安装 1 4 启动和关闭 1 5 测试 2 Nacos持久化 2 1为什么持久化 2 2配置Nacos持久化 2 2 1 切换数据库 2 2 2 初始化数据库 2 2 3 测试
  • Spring Boot入门必会(基本介绍+依赖管理+自动装配)

    目录 一 基础入门 1 Spring Boot 是什么 2 SpringBoot 快速入门 2 1完成步骤 2 2快速入门小结 3 Spring SpringMVC SpringBoot 的关系 3 1梳理关系 3 2如何理解 约定优于配置
  • Thrift、Dubbo、Spring Cloud 和 gRPC

    何为RPC RPC Remote Procedure Call 远程过程调用 是一种进程间通信方式 是一种技术的思想 而不是规范 它允许程序调用另一个地址空间 通常是共享网络的另一台机器上 的过程或函数 而不用程序员显式编码这个远程调用的细
  • 为分布式做准备吧——分布式服务架构设计概述

    文章目录 分布式服务框架设计架构原理 通信框架 长连接还是短链接 BIO还是NIO 序列化与反序列化 协议栈 服务路由 基于服务注册中心的订阅发布 集群容错 服务降级 分布式消息跟踪 分布式服务框架设计架构原理 通常 分布式服务框架的架构可
  • 只要 3 个注解,优雅的实现微服务鉴权!

    原创 不才陈某 码猿技术专栏 2023 04 17 08 50 发表于山东 大家好 我是不才陈某 前面的文章中介绍了网关集成Spring Security实现网关层面的统一的认证鉴权 有不清楚的可以看之前的文章 实战干货 Spring Cl
  • java脚本引擎Groovy实战

    前言 互联网时代随着业务的飞速发展 不仅产品迭代 更新的速度越来越快 个性化需求也是越来越多 如何快速的满足各种业务的个性化需求是我们要重点思考的问题 我们开发的系统如何才能做到热部署 不重启服务就能适应各种规则变化呢 实现业务和规则的解耦
  • SpringCloud概述

    SpringCloud概述 1 SpringCloud是什么 2 SpringCloud和SpringBoot关系 3 Dubbo和SpringCloud技术选型 4 SpringCloud作用 1 SpringCloud是什么 现代化的J
  • 什么是微服务

    微服务是一种架构风格 它把一个大型的复杂软件应用划分为一系列小的服务 每个服务都具有单一的功能 运行在其自己的进程中 并通常基于不同的编程语言和框架 这些服务之间通过轻量级通信机制相互通信 这种通信机制基于HTTP协议 微服务架构风格使得系
  • 什么是微服务

    微服务是一种架构风格 它把一个大型的复杂软件应用划分为一系列小的服务 每个服务都具有单一的功能 运行在其自己的进程中 并通常基于不同的编程语言和框架 这些服务之间通过轻量级通信机制相互通信 这种通信机制基于HTTP协议 微服务架构风格使得系
  • 微服务常见的配置中心简介

    微服务架构中 常见的配置中心包括以下几种 Spring Cloud Config Spring Cloud Config是官方推荐的配置中心解决方案 它支持将配置文件存储在Git SVN等版本控制系统中 通过提供RESTful API 各个
  • 2023 年精选:每个 DevOps 团队都应该了解的 5 种微服务设计模式

    微服务彻底改变了应用程序开发世界 将大型整体系统分解为更小 更易于管理的组件 这种架构风格的特点是独立 松散耦合的服务 带来了从可扩展性 模块化到更高的灵活性等众多优势 DevOps 团队如何最好地利用这种方法来实现最高效率 答案在于理解并

随机推荐

  • c#基础知识---集合之排序列表(SortedList)

    SortedList 类代表了一系列按照键来排序的键 值对 这些键值对可以通过键和索引来访问 排序列表是数组和哈希表的组合 它包含一个可使用键或索引访问各项的列表 如果您使用索引访问各项 则它是一个动态数组 ArrayList 如果您使用键
  • 【Spring】AOP实例—日志模块的实现

    AOP实例 日志模块 AOP能够使系统服务 例如 日志模块 安全模块 事务管理 模块化 并以声明的方式将它们应用到它们需要影响的组件中去 使业务组件会具有更高的内聚性并且会更加关注自身的业务 完全不需要了解涉及系统服务所带来复杂性 日志模块
  • Java BufferImage图片处理(获取宽高、图片截取、转换灰度图)

    Java BufferImage图片处理 获取宽高 截取 转换灰度图 1 效果图 2 源码 参考 这篇博客将介绍如何使用Java读取图片为byte 数组 或者BufferedImage及互相转换 并进行了转换图片为灰度图 截取部分区域等 1
  • 电脑win+r命令大全

    0 osk 打开键盘 1 msconfig 关闭系统开机启动项 2 ipconfig all ipconfig release ipconfig renew 3 convert g fs ntfs 盘符格式转换 g代表U盘符 4 gpedi
  • DSS部署-完整版

    文章目录 DSS部署流程 第一部分 背景 第二部分 准备虚拟机 环境初始化 1 准备虚拟机 2 环境初始化 关闭防火墙 关闭selinux 关闭swap 根据规划设置主机名 在master添加hosts 将桥接的IPv4流量传递到iptab
  • 现在机器人是用什么语言编程

    现在机器人是用什么语言编程 对于很多的家长们来说 孩子的学习一直都是他们非常关心和重视的一件事情 很多的家长在培养孩子的学习方面也可以说是相当的认真的 他们会给孩子选择一些能够有利于孩子成长的课程 就拿现在很多的家长想要孩子去学习机器人编程
  • 【搜索引擎Solr】Apache Solr 神经搜索

    Sease 1 与 Alessandro Benedetti Apache Lucene Solr PMC 成员和提交者 和 Elia Porciani Sease 研发软件工程师 共同为开源社区贡献了 Apache Solr 中神经搜索的
  • 【开发】前端工程——ReactJS

    前置知识 JavaScript ES6 ReactJS 前端开发的四个阶段 1 静态页面阶段 在第一个阶段中前端页面都是静态的 所有前端代码和前端数据都是后端生成的 前端纯粹只是增加一些特殊效果 后端MVC模式 Model 模型层 提供 保
  • 删除重复字符排序字符串(python3)

    问题描述 编写一个程序 从键盘接收一个字符串 然后按照字符顺序从小到大进行排序 并删除重复的字符 输入形式 从键盘输入一个字符串 以回车结束输入 要求程序可以处理含有空格的字符串 输出形式 程序接收此字符串 然后将其按照字符ASCII码值从
  • vue阶段思维导图

  • springboot 打印请求路径到 日志 控制台

    文章目录 application properties 添加 logging level org springframework web servlet mvc method annotation RequestMappingHandler
  • 安装双系统后,将windows设置为默认启动选项的方法

    原先的电脑只有windows系统 后来加装了ubuntu系统 但由于大部分时间仍然需要使用windows 但是默认启动项为ubuntu 难免会带来一些不便 将windows设为默认第一启动项的方法很简单 打开终端 查看grub的配置文件 s
  • VC++实用宏定义

    前言 在日常的编程工作中 常常定义一些实用的宏方便调用 该文章将收集一些常用的宏供大家参考 欢迎大家讨论和添加 指针释放 最常用的就是指针的安全释放 对应new的释放 ifndef ReleasePtr define ReleasePtr
  • File Processing by Python

    Go through all the file in destination path import os import sys def GetFileList dir fileList newDir dir if os path isfi
  • 【计算机网络】TCP协议

    实验目的 应用所学知识 1 熟悉 TCP 的协议格式 2 理解 TCP 对序列号和确认号的使用 3 理解 TCP 的流量控制算法和拥塞控制算法 实验步骤与结果 1 任务一 将Alice txt上传到服务器 使用wireshark捕获数据包
  • Windows平台的SDK、DDK与WDK

    尽管Windows平台的SDK DDK与WDK都包含了WinDBG工具包 但是用户获取WinDBG工具包的最主要方式还是从微软网站自由下载 因为这样获得的版本最新 最近尝试去了解WINDOWS下的驱动开发 现在总结一下最近看到的资料 1 首
  • 下采样与上采样

    一 下采样 概念 下采样 subsampled 又称为降采样 downsampled 可以通俗地理解为缩小图像 减少矩阵的采样点数 方法 1 最常用隔位取值 每行每列每隔k个点取一个点 2 合并区域 每 row k col k 窗口内所有像
  • python selenium 键盘操作 常用

    键盘事件 前面的 send keys 方法用来模拟键盘输入 keys 类提供了键盘上几乎所有按键的方法 组合键也是可以的 常用的键盘操作如下 send keys Keys BACK SPACE 删除键 BackSpace send keys
  • 三十、纯虚函数、抽象类、多态、简单工厂模式

    一 纯虚函数 虚函数是多态是实现多态的前提 如果我们需要在基类中定义共同的结构 那么接口就需要定义成虚函数 但是很多情况下基类的接口是无法实现的 比如形状类Shape 定义一个Draw方法 很明显这个方法没法实现 因为我们可以画出圆 正方形
  • 乾坤微服务子项目图片资源加载失败

    一 背景 子项目单独运行时正常 放在乾坤上 img 加载图片时失败 二 分析原因 假设乾坤项目域名为 http www aaa com 子项目域名为 http www bbb com 项目实际运行时 图片的 html 写法为 img src