HugeGraph Hubble 配置 https 协议的操作步骤
最佳答案 问答题库728位专家为你答疑解惑
背景
HugeGraph 图数据库的 Server 端支持 https 配置,官方文档中有说明相对比较容易,而 Hubble 部署过程都是 http的。
我们有一个应用要嵌入 hubble 页面,而且部署为 https ,那么 Hubble 是否支持配置 https 呢?网络上搜不到 hubble 的 https 配置说明,不知道别人都是怎么使用 HugeGraph 的,感觉能搜到的内容都很浅显。
跟源码,结合其他项目的 https 部署经验,最终找到了一种方法可以达到目标,本文将分享 HugeGraph Hubble 部署为 https 协议的过程。
部署方式确定
确定图数据库的各组件的版本及部署方式:
- HugeGraph Server 为 http,版本 V0.10.4
- Hubble 为 https,版本 1.6.0
- Hubble Web 嵌套的目标应用部署为 https
Hubble 启动脚本改造
跟踪 hubble 后端源码 hubble-be ,它是一个 spring-boot 项目,但是应用配置文件 application.properties
打包到类路径下了,应用启动通过指定主类并设置后台需要的根目录。
我们知道,一个基于Spring 的 Java Web 应用部署为 https ,通常只需要在配置文件中添加 server.ssl
配置项就可以了,有几个思路:
- 自定义一个 application.properties,放在哪里能生效呢?试了放在 lib 目录下,没有生效。
- 修改源码中的应用配置文件,重新打包,源码 maven 依赖下载失败,重打包还麻烦。
- 修改启动命令手动设置 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 配置文件。
最后,再总结一下图数据库使用的部署方式:
- HugeGraph Server 配置为 https 时,Hubble 必须设置
server.protocol=https
保证与 Server 端通信正常。 - Hubble 自身部署方式默认是 http,如果有安全需要可以按本文配置为 https。
- Hubble 嵌套的目标系统如果是 https ,则 Hubble 也必须是 https 。
- Hubble 嵌套的目标系统如果是 http,则 Hubble 也必须是 http 。
版本维护工作不易,开源更不易!
99%的人还看了
相似问题
- flink1.13.6版本的应用程序(maven版)
- 技术分享| gcc版本升级到5.2
- 基于 Glibc 版本升级的 DolphinDB 数据查询性能优化实践
- 解决requests 2.28.x版本SSL错误:证书验证失败
- UE5和UE4版本更新重大改变汇总。
- Docker build报错总结,版本过新大避雷!
- K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录
- Mongodb3.4升级高版本mongoTemplate.executeCommand报错The cursor option is required
- onnx模型转换opset版本和固定动态输入尺寸
- centos安装指定版本docker
猜你感兴趣
版权申明
本文"HugeGraph Hubble 配置 https 协议的操作步骤":http://eshow365.cn/6-28237-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 笔记本电脑的摄像头找不到黑屏解决办法
- 下一篇: 图情档核心期刊 | 北大核心、CSSCI、CSCD