HugeGraph Hubble 配置 https 协议的操作步骤

背景

HugeGraph 图数据库的 Server 端支持 https 配置,官方文档中有说明相对比较容易,而 Hubble 部署过程都是 http的。

我们有一个应用要嵌入 hubble 页面,而且部署为 https ,那么 Hubble 是否支持配置 https 呢?网络上搜不到 hubble 的 https 配置说明,不知道别人都是怎么使用 HugeGraph 的,感觉能搜到的内容都很浅显。

跟源码,结合其他项目的 https 部署经验,最终找到了一种方法可以达到目标,本文将分享 HugeGraph Hubble 部署为 https 协议的过程。

部署方式确定

确定图数据库的各组件的版本及部署方式:

  1. HugeGraph Server 为 http,版本 V0.10.4
  2. Hubble 为 https,版本 1.6.0
  3. Hubble Web 嵌套的目标应用部署为 https

Hubble 启动脚本改造

跟踪 hubble 后端源码 hubble-be ,它是一个 spring-boot 项目,但是应用配置文件 application.properties 打包到类路径下了,应用启动通过指定主类并设置后台需要的根目录。

我们知道,一个基于Spring 的 Java Web 应用部署为 https ,通常只需要在配置文件中添加 server.ssl 配置项就可以了,有几个思路:

  1. 自定义一个 application.properties,放在哪里能生效呢?试了放在 lib 目录下,没有生效。
  2. 修改源码中的应用配置文件,重新打包,源码 maven 依赖下载失败,重打包还麻烦。
  3. 修改启动命令手动设置 ssl 的环境变量,这个最简单,直接复制一个 start-hubble.sh 文件,加上配置就可以了。

改造部署脚本:进入 hugegraph-hubble-1.6.0/bin 目录下,拷贝一份启动文件重命名为 start-hubble-ssl.sh ,然后编辑该文件,大概在 63 行的位置,加上环境变量配置,67 行启动命令的 -Dhubble.home.path 前面加上 ${sslEnv}

sslEnv=`echo -Dserver.ssl.enabled=true -Dserver.ssl.key-store=${HOME_PATH}/conf/hugegraph-server.keystore -Dserver.ssl.key-store-password=hugegraph`
echo 'ssl param is 'sslEnv
nohup nice -n 0 java -server ${java_opts} -Dhubble.home.path=${HOME_PATH} ${sslEnv} -cp ${class_path} ${main_class} ${args} > ${log} 2>&1 < /dev/null &

这里使用的证书是官网给出的 hugegraph server 的证书,密码是 hugegraph。

https 方式启动 Hubble:执行 start-hubble-ssl.sh ,由于 Tomcat 版本是 9.0.24 ,它的 SSL 启动有一个 Bug ,但不影响应用的访问:
在这里插入图片描述
异常说明参考《Tomcat SSL Support 异常说明》,如果有强迫症、见不得异常的话,直接升级 lib 目录下的 tomcat 9.0.24 的 三个 jar 为26 以上版本。

证书文件

官网上有 《hugegraph server 配置为 https 》 直接套用服务端的证书文件作为 hubble 的证书 hugegraph-server.keystore ,该文件在 1.0.0 的 server /conf 目录下,低版本 0.10.4 中没有。
在这里插入图片描述
如果服务端配置为该方式,那么还需要修改,同时官网 Hubble1.0.0 的配置文件少了可信任证书,需要从低版本 Hubble1.6.0 /conf 中弄一份 hugegraph.truststore 出来 ,并修改 hugegraph-hubble.properties 配置文件,添加一行 Server 端的协议类型:

server.protocol=https

它的作用是配置 HugeGrape Server 请求客户端的协议为 https

启示录

本文用到的文件已经上传到 CSDN 资源库了,有需要的可以下载 hugegraph-hubble-1.6.0 https 配置文件。

最后,再总结一下图数据库使用的部署方式:

  1. HugeGraph Server 配置为 https 时,Hubble 必须设置server.protocol=https保证与 Server 端通信正常。
  2. Hubble 自身部署方式默认是 http,如果有安全需要可以按本文配置为 https。
  3. Hubble 嵌套的目标系统如果是 https ,则 Hubble 也必须是 https 。
  4. Hubble 嵌套的目标系统如果是 http,则 Hubble 也必须是 http 。

版本维护工作不易,开源更不易!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows 设置nginx、redis、jar包开机自启、mysql自动备份

1、--------------设置nginx------------------- cd到nginx 根目录与nginx.exe平齐 1.1下载WinSW.NET4.exe 放入nginx.exe平齐目录命名为nginx-servier.exe 链接: https://pan.baidu.com/s/1obKTinD1Z9BKgMJxZMtk2Q?pwdg47u 提取码: g47u 复制这段内容后打开百度网盘手机App…

计算机网络【CN】IPV4报文格式

版本&#xff08;4bit&#xff09;&#xff1a;IPV4/IPV6首部长度&#xff08;4bit&#xff09;&#xff1a;标识首部的长度 单位是4B最小为&#xff1a;20B最大为&#xff1a;60&#xff08;15*4&#xff09;B总长度&#xff08;16bit&#xff09;&#xff1a;整个数据报&…

为什么自动驾驶需要5G?

什么叫自动驾驶&#xff1f; 自动驾驶分为6个等级&#xff1a; Level 0&#xff1a;人工驾驶&#xff0c;无驾驶辅助系统&#xff0c;仅提醒。 Level 1&#xff1a;辅助人工驾驶&#xff0c;可实现单一的车速或转向控制自动化&#xff0c;仍由人工驾驶&#xff08;如定速巡航…

[Database] MySQL 8.x Window / Partition Function (窗口/分区函数)

&#x1f9f2;相关文章 [1] MySQL 系统表解析以及各项指标查询 [2] MySQL 5.7 JSON 字段的使用的处理 [3] MySQL经典练习50题 简介 MySQL 8.0版本开始支持窗口函数 官方文档 在之前的版本中已存在的大部分聚合函数&#xff0c;在MySQL 8 中也可以作为窗口函数来使用 方法 / …

day11力扣打卡

打卡记录 避免洪水泛滥&#xff08;贪心 Map Set&#xff09; 链接 将晴天的日期全部记录到 set 中。 使用 unordered_map 来记录每个湖泊上一次下雨的日期。 当下雨时&#xff0c;湖泊已经水满了时&#xff0c;查询到上次下雨的日期。 通过这个日期在晴天记录中查找对应的…

第2篇 机器学习基础 —(2)分类和回归

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。机器学习中的分类和回归都是监督学习的问题。分类问题的目标是将输入数据分为不同的类别&#xff0c;而回归问题的目标是预测一个连续的数值。分类问题输出的是物体所属的类别&#xff0c;而回归问题输出的是数值。本节课就…

对mysql的联合索引的深刻理解

背景 对mysql的联合索引的考察是Java程序员面试高频考点&#xff01;必须深刻理解掌握否则容易丢分非常可惜。 技术难点 考察对最左侧匹配原理理解。 原理 暂且不表。网上讲这非常多。我理解就是&#xff0c;B树每个非叶子节点的值都是有序存放索引的值。 比如对A、B、C …

Unity中国、Cocos为OpenHarmony游戏生态插上腾飞的翅膀

2023年是OpenHarmony游戏生态百花齐放的一年&#xff01;为了扩展OpenHarmony游戏生态&#xff0c;OpenHarmony在基金会成立了游戏SIG小组&#xff0c;游戏SIG小组联合cocos&#xff0c;从cocos2dx入手一周内快速适配了cocos2.2.6的MVP版本&#xff0c;随后又分别适配了cocos2d…

【Leetcode】200. 岛屿数量

给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设该网格的四条边…

体外循环手术中循环管路灌注流量精密自动控制解决方案

摘要&#xff1a;在目前的体外循环手术过程中&#xff0c;需要灌注师快速而精确地操作使得血液流速调节到期望的目标值。基于国外文献报道的血流量自动控制方法和装置&#xff0c;本文提出了技术改进且国产化解决方案。通过本解决方案中增加的国产系列电控夹管阀、电控针阀和具…

css属性clip-path的使用说明

前言 当ui设计上的图片、div等的形状不是长方形&#xff0c;而是多边形的时候&#xff0c;就可以借助clip-path这个css属性来实现。 clip-path CSS 属性使用裁剪方式创建元素的可显示区域。区域内的部分显示&#xff0c;区域外的隐藏。【from: MDN】 clip-path可以理解为一把剪…

一种基于Redis时间和权重关联的分布式优先级队列方法

技术背景&#xff1a; 深度学习平台&#xff08;或存在异步任务调度的平台&#xff09;&#xff0c;存在不同的操作用户&#xff0c;用户存在不同的部门&#xff0c;调度的硬件服务器资源&#xff0c;按照不同的资源类型&#xff0c;操作系统&#xff0c;GPU卡的型号区分成不同…

Jenkins入门级安装部署

前言 Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。通常&#xff0c;项目中常用Jenkins作为编译打包项目的工具&#xff0…

Maven项目转为SpringBoot项目

Maven项目转为SpringBoot项目 前言创建一个maven项目前的软件的一些通用设置Maven仓库的设置其他的设置字符编码编译器注解支持 创建的Maven项目修改为Spring Boot项目修改pom.xml文件修改启动类-Main新建WAR包所需的类 添加核心配置文件 测试的控制器最后整个项目的目录结构![…

Ragnar-lothbrok 靶机

Ragnar-lothbrok 信息搜集 存活检测 详细扫描 后台网页扫描 网站信息搜集 secret “秘密”网页 将密文保存到 password.txt 此页面使用了 wordpress CMS 疑似用户 ragnar wpscan 也爆破出了用户 ragnar wpscan --url http://10.4.7.155/wordpress/ --enumerate u 密码获…

Linux 开机启动一条PHP命令

当你开机的时候要自动的启动一条PHP命令场景&#xff1a;比如webman 你需要手动启动项目进程 你可以这样操作 流程&#xff1a; 1、准备好你要执行的命令 2、将命令写入一个服务文件 3、开机自启这个服务 实例&#xff1a; 1、比如这个命令 /usr/local/php/bin/php /ho…

Angular-04:指令

① 内置指令1.1 *ngIf 结构指令1.2 [hidden] 属性指令1.3. *ngFor 结构指令1.4 *ngSwitch 结构指令 ② 自定义指令用法 指令是angular操作dom的途径&#xff0c;分为属性指令和结构指令。属性指令&#xff1a;修改元素的外观或行为。使用 [ ] 包裹。结构指令&#xff1a;增加、…

【路径规划】A*算法 Java实现

A*&#xff08;A-Star&#xff09;算法是一种广泛使用的寻路算法&#xff0c;尤其在计算机科学和人工智能领域。 算法思想 通过评估函数来引导搜索过程&#xff0c;从而找到从起始点到目标点的最短路径。评估函数通常包括两部分&#xff1a;一部分是已经走过的实际距离&#x…

漏洞复现-Apache Druid 任意文件读取 _(CVE-2021-36749)

Apache Druid 任意文件读取 _&#xff08;CVE-2021-36749&#xff09; 漏洞信息 Apache Druid Version 0.22以下版本中存在安全漏洞CVE-2021-36749文件读取漏洞 描述 ​ 由于用户指定 HTTP InputSource 没有做出限制&#xff0c;可以通过将文件 URL 传递给 HTTP InputSourc…

网络扫描与网络监听

前言&#xff1a;前文给大家介绍了网络安全相关方面的基础知识体系&#xff0c;以及什么是黑客&#xff0c;本篇文章笔者就给大家带来“黑客攻击五部曲”中的网络扫描和网络监听 目录 黑客攻击五部曲 网络扫描 按扫描策略分类 按照扫描方式分类 被动式策略 系统用户扫描 …