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

2023-10-25 20:29

本文主要是介绍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 。

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

这篇关于HugeGraph Hubble 配置 https 协议的操作步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求