trino开启https

news2025/1/11 5:49:11

作者:振鹭

一、生成https证书

(所用到的openssl和keytool命令都是linux自带的)

配置https证书:

(1)创建目录

[hdfs@hadoop01 hadoop]# mkdir -p /data/ssl/
[hdfs@hadoop01 hadoop]# cd /data/ssl/

(2)执行创建指令

openssl req -new -x509 -keyout bd_ca_key -out bd_ca_cert -days 9999 -subj '/C=CN/ST=beijing/L=beijing/O=test/OU=test/CN=test'
[hdfs@hadoop01 kerberos_https]# openssl req -new -x509 -keyout bd_ca_key -out bd_ca_cert -days 9999 -subj '/C=CN/ST=beijing/L=beijing/O=test/OU=test/CN=test'
Generating a 2048 bit RSA private key
.....................................................................................................+++
.+++
writing new private key to 'bd_ca_key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
[hdfs@hadoop01 kerberos_https]#
[hdfs@hadoop01 kerberos_https]#
# (输入密码和确认密码是123456,此命令成功后输出bd_ca_key和bd_ca_cert两个文件)
[hdfs@hadoop01 kerberos_https]# ll
总用量 8
-rw-r--r-- 1 root root 1294 327 19:36 bd_ca_cert
-rw-r--r-- 1 root root 1834 327 19:36 bd_ca_key

(3)将得到的两个文件复制到其他机器上面

scp -r /opt/security/kerberos_https root@hadoop02 : /opt/security/

(4)在所有节点上都依次执行以下命令:

cd /opt/security/kerberos_https
 # 所有需要输入密码的地方全部输入123456(方便起见,如果你对密码有要求请自行修改)
# 1  输入密码和确认密码:123456,此命令成功后输出keystore文件
keytool -keystore keystore -alias localhost -validity 9999 -genkey -keyalg RSA -keysize 2048 -dname "CN=test, OU=test, O=test, L=beijing, ST=beijing, C=CN"
   
# 2 输入密码和确认密码:123456,提示是否信任证书:输入yes,此命令成功后输出truststore文件
keytool -keystore truststore -alias CARoot -import -file bd_ca_cert
   
# 3 输入密码和确认密码:123456,此命令成功后输出cert文件
keytool -certreq -alias localhost -keystore keystore -file cert
   
# 4 此命令成功后输出cert_signed文件
openssl x509 -req -CA bd_ca_cert -CAkey bd_ca_key -in cert -out cert_signed -days 9999 -CAcreateserial -passin pass:123456
   
# 5 输入密码和确认密码:123456,是否信任证书,输入yes,此命令成功后更新keystore文件
keytool -keystore keystore -alias CARoot -import -file bd_ca_cert
   
# 6 输入密码和确认密码:123456
keytool -keystore keystore -alias localhost -import -file cert_signed
最终得到:
-rw-r--r-- 1 root root 1294 327 19:36 bd_ca_cert
-rw-r--r-- 1 root root   17 327 19:43 bd_ca_cert.srl
-rw-r--r-- 1 root root 1834 327 19:36 bd_ca_key
-rw-r--r-- 1 root root 1081 327 19:43 cert
-rw-r--r-- 1 root root 1176 327 19:43 cert_signed
-rw-r--r-- 1 root root 4055 327 19:43 keystore
-rw-r--r-- 1 root root  978 327 19:42 truststore

(5)但是由于可能某些场景下需要将证书的文件类型改成jks类型

keystore --> keystore.jks

keytool -importkeystore -srckeystore ./keystore -destkeystore .

truststore --> truststore.jks

cp ./truststore ./truststore.jks

(这是由于上述生成的truststore证书已经是jks格式了)

那么,如何查看生成证书的文件格式呢:

[root@devops-hadoop3-krb-node2 hdfs_ca]# keytool -list -v -keystore ./keystore
输入密钥库口令:  

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 2 个条目

别名: caroot
创建日期: 2023-10-7
条目类型: trustedCertEntry

所有者: CN=devops-hadoop3-krb-node1, OU=dtstack, O=dtstack, L=hangzhou, ST=zhejiang, C=CN
发布者: CN=devops-hadoop3-krb-node1, OU=dtstack, O=dtstack, L=hangzhou, ST=zhejiang, C=CN
序列号: f9ed82c1408b00c7
有效期开始日期: Sat Oct 07 15:52:51 CST 2023, 截止日期: Tue Feb 21 15:52:51 CST 2051
证书指纹:
         MD5: 15:D6:D6:37:13:8E:22:0D:15:C9:C1:A2:6A:F3:EC:B5
         SHA1: 80:23:0B:D9:4C:99:D1:10:2A:60:59:C4:9A:F9:A3:9E:B8:04:AC:87
         SHA256: 44:AD:10:20:D0:34:32:62:F9:3C:9C:DF:C4:EA:58:C8:08:BB:50:DD:5A:D8:0F:18:AD:D4:A0:3E:CA:D0:3C:38
         签名算法名称: SHA256withRSA
         版本: 3

上述生成的https证书存在安全问题,在使用其他客户端使用jdbc来连接trino时,会报错证书的安全问题导致无法连接,因此,可以采用以下的证书生成方式:

  1. 生成自签名证书和私钥

其中 Common Name 填写主机名:如主机名为 ditto-1,则此处填写 ditto-1,主机名为 ditto-2,则此处填写 ditto-2

kyotom@ditto-2:~/key$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
.+.....+.+.........+..+...+....+..+......+.......+...+.....+..........+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+......+...+..+...+.+..+....+......+...+......+...............+.........+..+...+......+...+.......+...........+.......+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*......+...+...+.....+......+.+..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......+...........+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+..+...+....+..+.+..+...+....+..........................+.............+......+.....+....+.........+..+.+..+.............+....................+....+.....+....+......+.........+..+.............+......+........+.+............+...............+...+.........+..+....+......+...+......+....................+.........+............+.+.....+...+..................................+..+...+.+..+....+...........+....+........+..........+.................+.+.......................+.+...+......+.....+....+..+...............+..................+..........+..........................+......+.+..............+......+.......+.....+.+.................+.......+...+...+......+......+..+............+.+...+.....+.+.................................+.....+............+..................+...+.......+..................+..+......+.+........+..........+...........+..........+.....................+...........+....+.....+...+..................+...................+......+.....+...+.........+................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:ZJ
Locality Name (eg, city) []:HZ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:dtstack
Organizational Unit Name (eg, section) []:engine
Common Name (e.g. server FQDN or YOUR name) []:ditto-1/ditto-2
Email Address []:zhenlu@dtstack.com
  1. 将证书和私钥转换为PKCS12格式

-name 参数填写主机名:如主机名为 ditto-1,则此处填写 ditto-1,主机名为 ditto-2,则此处填写 ditto-2。
此时输入两次密码,为简单起见,密码保持相同,此处均使用 abc123。

kyotom@ditto-2:~/key$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx -name "ditto-1"/"ditto-2"
Enter Export Password:
Verifying - Enter Export Password:
  1. 将证书添加到Trino服务器的密钥库(keystore)中

-alias 参数填写主机名:如主机名为 ditto-1,则此处填写 ditto-1,主机名为 ditto-2,则此处填写 ditto-2。
此时先连续两次要输入生成的 keystore 的密码,此处为了简单我们依旧使用 abc123 作为密码。
然后要输入第二步中的 cert.pfx 证书密码,第 2 步我们使用了 abc123,此处也填写 abc123。

kyotom@ditto-1:~/key$ keytool -importkeystore -srckeystore cert.pfx -destkeystore keystore.jks -srcstoretype PKCS12 -deststoretype JKS -alias "ditto-1"/"ditto-2"
Importing keystore cert.pfx to keystore.jks...
Enter destination keystore password:  
Re-enter new password: 
Enter source keystore password:
  1. 生成客户端 truststore 并将 keystore 的证书信息添加到 truststore 中

-srcalias 填写 keystore 的别名,上面我们都是用主机名作为别名,因此这里也是相对应的主机名:如主机名为 ditto-1,则此处填写 ditto-1,主机名为 ditto-2,则此处填写 ditto-2。
-destalias 填写与 srcalias 一致即可。

truststore 的密码为了简单我们依旧使用 abc123 作为密码。
kyotom@ditto-1:~/key$ keytool -importkeystore -srckeystore keystore.jks -destkeystore truststore.jks -srcalias ditto-1/ditto-2 -destalias ditto-1/ditto-2 -srcstoretype JKS -deststoretype JKS
Importing keystore keystore.jks to truststore.jks...
Enter destination keystore password:  
Re-enter new password: 
Enter source keystore password:  

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.jks -deststoretype pkcs12".

二、配置trino开启https

(1)在trino的coon节点config_coordinator.properties配置文件里增加配置:

http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/data/kerberos/hdfs_ca/keystore
http-server.https.keystore.key=abc123
http-server.authentication.allow-insecure-over-http=false
#http-server.https.keymanager.password=abc123
#http-server.https.truststore.path=/data/kerberos/hdfs_ca/truststore
#http-server.https.truststore.key=abc123
internal-communication.shared-secret=abc123
http-server.authentication.type=PASSWORD
#为Trino coordinator 启用密码认证类型。必须设置为PASSWORD。

(2)在trino的worker节点config_worker.properties里增加配置:

http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/data/kerberos/hdfs_ca/keystore
http-server.https.keystore.key=abc123
http-server.authentication.allow-insecure-over-http=false
internal-communication.shared-secret=abc123

这样就OK了,然后再重启trino,就可以使用https来访问web页面了。

(注意这时候访问页面的端口已经不是8081了,变成了上面配置的8443)

这样进到web页面时,需要输入账号密码才能进去:

请添加图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【全志H616开发】Linux守护进程

文章目录 守护进程简介基本特点创建一个守护进程通常涉及以下步骤:进程查看指令: 守护进程开发代码示例: 开机自动启动 守护进程 简介 Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性…

C语言斜向钥匙迷宫

目录 开头程序的流程图程序的效果结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们来看一下我用C语言编译的斜向钥匙迷宫和与之相关的一些东西。 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <Windows.h> void printmaze(co…

数据结构算法-排序(二)

插入排序 插入排序核心 假设数组中的一部数据已经排好序&#xff0c;要插入的数据和这些数据进行比较&#xff0c;直到找到合适的位置插入新数据。 插入排序步骤 插入排序主要有以下步骤构成&#xff1a; 假设有序&#xff0c;我们假设**a[0]**已经排好序待插入的数据为a[j]…

Windows蓝屏问题解决(电脑只要安装了VPN_SV独立客户端)必蓝屏

一、SERNEL_SECURITY_CHECK_FAILURE (139) 蓝屏分析 官方介绍蓝屏现象&#xff0c;官方Windows为了保护电脑&#xff0c;出现故障&#xff0c;自动蓝屏&#xff0c;避免损坏电脑的一种现象&#xff0c;别名buckcheck、蓝屏。 100%复现软件&#xff1a;天融信VPN&#xff0c;同事…

AI赋能交通治理:非机动车监测识别技术在城市街道安全管理中的应用

引言 城市交通的顺畅与安全是城市管理的重要组成部分。非机动车如自行车、电动车、摩托车等在城市交通中扮演着重要角色&#xff0c;但同时也带来了管理上的挑战。尤其是在机动车道上误入非机动车的现象&#xff0c;不仅影响交通秩序&#xff0c;还可能引发交通事故。思通数科…

C#插件 调用存储过程(输出参数类型)

存储过程 CREATE PROCEDURE [dbo].[GetSum]num1 INT,num2 INT,result INT OUTPUT AS BEGINselect result num1 num2 END C#代码 using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Util; using System; using System.…

3分钟认识KTX2纹理

作者&#xff1a;游梦 图片与纹理区别 日常沟通中通常把图片与纹理混为一谈&#xff0c;实际在图形学中&#xff0c;它俩是严格意义上的两个对象&#xff0c;主要有以下两个方面的区别&#xff1a; 文件格式&#xff1a; 图片&#xff1a;JPG、JPEG、PNG、bmp、webp、SVG等常…

gstreamer 配置+解析编解码

一. 安装gstreamer 1.1 Windows下安装 官网链接&#xff1a;https://gstreamer.freedesktop.org/download/#windows 两个都要下载。安装的时候&#xff0c;在custom选择安装路径。然后返回上一步选择complete完全安装&#xff0c;两个安装方式一样。 1.2 配置环境 将 D:\…

python3 pyside6图形库学习笔记及实践(二)

目录 前言常用控件下拉框(QComboBox)复选框(QCheckBox)单选框(QRadioButton)文本框(QTextEdit和QPlainTextEdit)滑块(QSlider) 布局常见布局控件示例布局的好处 对话框消息框(QMessageBox)输入对话框(QInputDialog)文件对话框(QFileDialog)字体对话框(QFontDialog)颜色对话框(Q…

一文精通Python print函数的N种玩法

文末赠免费精品编程资料~~ 今天我们要探索的是编程世界中最常被忽略的英雄——print函数。别看它简单&#xff0c;其实藏着不少有趣的玩法和高级技巧&#xff0c;能让你的代码更加灵活和高效。准备好了吗&#xff1f;让我们一起深入这个看似平凡却又不凡的功能。 基础篇&…

SuperGlue网络+FPN+SIFT(特征匹配)

SuperGlue网络+FPN+SIFT(特征匹配) 摘要1. FPNFPN具体实现思路2. SIFT2.1 尺度空间极值检测2.1.1 尺度空间2.1.2 高斯金字塔2.1.4 局部极值检测2.2 精确的关键点定位2.2.1 消除边缘响应2.2.2 确定关键点(极值点)方向2.3 关键点描述2.4 关键点匹配2.5 SIFT代码实现2.6 SIFT的…

贪心算法-买卖股票问题

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法并不保证总是能得到全局最优解&#xff0c;但它通常能得到不错的解…

新版PyTorch:AI任务加速与Intel GPU集成

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- 最近的Pytorch 2.4 推出AI任务加速&#xff0c;提供对Intel GPU的支持。为了进一步加速 AI任务&#xff0c;PyTorch 2.4现在为Intel数据中心GPU Max系列提供支持&#xff0c;该系列将Intel GPU…

Java答题系统练习模拟考试系统

&#x1f4dd;【学霸秘籍】答题系统模拟考试系统&#xff0c;你的提分神器来啦&#xff01;&#x1f680; &#x1f4da; 开篇引入&#xff1a;学习路上的得力助手 嘿&#xff0c;小伙伴们&#xff01;是不是又在为即将到来的考试焦头烂额&#xff1f;&#x1f623; 是不是觉…

二分查找(多版本)

1.基础版 public class erfenchazhao {public int test(int arr[],int target){int i 0; //定义左指针int j arr.length-1;//定义右指针int m; //定义中间值while(i<j){ //判断条件m (ij)>>>1;if(target < arr[m]){ //目标值在左边j m - 1;}else…

【python】在Python代码中执行Linux命令的详细用法教程

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

昇思25天学习打卡营第01天|昇思MindSpore大模型基础介绍

昇思MindSpore和华为昇思MindSpore大模型学习打卡系列文章&#xff0c;本文仅供参考~ 文章目录 前言一、昇思MindSpore是什么&#xff1f;二、执行流程三、设计理念四、层次结构五、Huawei昇腾AI全栈 前言 随着计算机大模型的不断发展&#xff0c;Ai这门技术也越来越重要&#…

免费【2024】springboot 宠物领养救助平台的开发与设计

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

Prozyme糖样本检测平台--GlykoPrep® Rapid N-Glycan Preparation with APTS

单克隆抗体已成为生物制药行业具有潜力的新兴蛋白候选药物。其药物研发流程包括一系列精细的控制和评估步骤&#xff0c;需要仔细、严格地监测目标化合物的治疗稳定性及有效性。因此&#xff0c;在商业化前的每个阶段对单克隆抗体进行全面表征是极其有益的。在大量研究成熟的蛋…

用Python打造精彩动画与视频,3.1 安装和设置 MoviePy

第3章 开始你的第一个视频项目 MoviePy 3.1 安装和设置 MoviePy 视频处理在多媒体内容创作中起着至关重要的作用。MoviePy 是一个用于视频编辑的 Python 库&#xff0c;它可以让你轻松地进行视频剪辑、合并、特效添加等操作。通过 MoviePy&#xff0c;你可以用简单的 Python…