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

2023-11-02 13:00

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

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过