专有云datav代理踩坑

本文涉及的产品
.cn 域名,1个 12个月
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化 DataV,5个大屏 1个月
简介: 记录了datav专有云版本下,转发代理的实现

专有云datav代理踩坑

问题描述

datav开发完成之后,发布是通过在datav页面点击发布后获得发布链接,

image.png

一般情况下都是通过直接访问发布链接的方式进行页面访问,但是在一些特定的场景下会需要将这个地址进行代理后再进行访问,项目上碰到的场景是这样的

  1. datav版本为专有云datav版本,部署在内网服务器上,并且没有进行互联网透出
  2. 部分页面需要通过互联网方式进行访问

解决过程

默认情况下datav的访问链路为

image.png

想要开通公网访问的话,最直接的方式就是配置一个映射代理,链路如下:

image.png

这个映射配置比较简单,很快我们就配置完成了,但是在随之后的验证中发现了一个致命的问题导致页面无法正常访问:

  1. 互联网映射域名和内网的DataV服务的域名不一致
  2. DataV服务的域名是通过配置的方式硬编码在了配置文件里,没有根据当前实际访问的代理域名地址对对应的资源文件进行替换或者使用相对路径进行访问

以上两点直接导致的后果是:DataV服务没有办法被代理!

问题到这里似乎无解了,除非是互联网映射的域名保持和内网访问的域名一致,这个申请下来又是需要不少的时间,在与DataV研发团队的沟通中,我们摸索出了另外一条路:

image.png

在这里的nginx,不仅仅是转发的功能而已,还用到了它的插件sub_filter,简而言之,就是在转发的时候查找和替换对应的文本,这个插件是需要单独编译安装的,安装完成后,对nginx进行配置,核心点在于配置需要替换的文本

          proxy_set_header Accept-Encoding "";
          sub_filter '待替换的文本' '替换后的文本';
          sub_filter_types  css/html;
          sub_filter_once off;

同时这里也需要注意一个坑,当接收请求需要压缩的时候 Accept-Encoding配置为gzip时,sub_filter替换会失效,所以在这里增加了一个配置proxy_set_header Accept-Encoding "";  声明不进行压缩。

至此,页面已经能够通过代理的方式进行访问。

后续

在发布的datav页面开启token校验的时候,此时会涉及到页面的Cookie的设置,因为我们上面是通过nginx进行了一次代理,就需要增加nginx的配置proxy_cookie_domain 代理前的域名 代理后的域名; 来实现前后端cookie域名转换,保证顺利传递。

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
2天前
|
域名解析 运维 网络协议
Serverless 应用引擎产品使用合集之一般情况下在SAE中如何关联域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
24天前
|
SQL DataWorks 安全
DataWorks产品使用合集之如何进行私有化部署
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
14 1
|
2月前
|
Web App开发 缓存 运维
应用研发平台EMAS产品常见问题之emas控制台访问非常慢如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
11月前
|
域名解析 移动开发 小程序
阿里云 EMAS & 魔笔:7月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔 7月产品动态已更新:移动测试(国际站)功能全面支持iOS17、移动推送 iOS发布SDK 2.0.2版本,修改偶发崩溃BUG、魔笔 新增企业定制模版;优化数据选择框组件和面包屑组件等。
210 0
阿里云 EMAS & 魔笔:7月产品动态
|
2月前
|
域名解析 测试技术 Serverless
阿里云 EMAS & 魔笔:12月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔 12月产品动态已更新:移动测试云真机列表改为按设备选择,新增更多设备状态展示;EMAS Serverless 函数定时任务超时时间支持1~7200秒;移动推送控制台支持配置华为、vivo的默认回执
101 0
|
8月前
|
缓存 监控 数据可视化
DataV 如何做适配
DataV 如何做适配
184 0
|
12月前
|
存储 域名解析 移动开发
阿里云 EMAS & 魔笔:6月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔 6月产品动态已更新:EMAS Suite 发布HBuilderX打包插件、移动测试 云真机支持折叠屏、魔笔 更新多种功能、优化多种体验链路等。
204 0
阿里云 EMAS & 魔笔:6月产品动态
|
域名解析 缓存 监控
阿里云 EMAS & 魔笔:5月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔 5月产品动态已更新:EMAS Serverless SDK uploadFile支持上传文件到指定目录;移动推送发布Android SDK 3.8.6版本;魔笔新增并优化多种组件物料及功能模块,教学体系新增 Datagrid 实战指南等。
189 0
阿里云 EMAS & 魔笔:5月产品动态
|
域名解析 移动开发 监控
阿里云 EMAS & 魔笔:4月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔 4月产品动态已更新:移动测试iOS开启辅助触控,支持多指划屏体验;移动推送发布官方开源ReactNative插件;魔笔新增多种组件物料和功能模块,上线更多套餐选购版本,优化多种用户体验板块!
180 0
阿里云 EMAS & 魔笔:4月产品动态
|
域名解析 移动开发 NoSQL
阿里云 EMAS & 魔笔:3月产品动态
阿里云移动研发平台EMAS & 低代码开发平台魔笔(Mobi)3月产品动态已更新:云发布支持发布单版本校验规则动态配置;移动测试支持录制脚本使用appium 2.0框架;移动推送支持vivo和华为的消息/通知类型参数;魔笔发布 v1.6 版本,新增并优化多种功能、组件、模块,同时完善了魔笔教学体系,让用户拥有更好的体验!
206 0
阿里云 EMAS & 魔笔:3月产品动态