Arangodb集群web interface登陆认证设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27668313/article/details/88998956

使用Web interface登陆集群前添加认证功能

使用Arango starter启动集群时,默认情况下无需认证即可登陆集群。实际情况是:使用arangosh登陆需要认证,而使用web interface则无需认证。
我的集群配置情况在博客:
https://blog.csdn.net/qq_27668313/article/details/88289749
为了在web interface登陆前增加认证,可按如下步骤设置:

1. 创建jwt密钥文件

创建jwt密钥文件,在master主机上使用如下命令,密钥文件会在当前目录下生成,最好先进入目录/home/keyfile/;
在这里插入图片描述

2. 将上面的密钥文件分发到其它机器

在slave1上执行命令,从master主机复制文件/home/keyfile/jwtSecret到本地/home/keyfile目录下。
在这里插入图片描述
同样的方式在slave2上执行。

3. 在启动集群时增加参数–auth.jwt-secret=path 指定密钥文件

Master启动命令如下,/home/keyfile/jwtSecret是存储jwt密钥文件路径,/home/master/test1是数据库在本机存储地址,
在这里插入图片描述
从终端输出信息看出本机作为master启动,同时在等待三个server,监听端口是8528。
Slave1启动命令如下,/home/keyfile/jwtSecret是存储jwt密钥文件路径,/home/master/test2是数据库在本机存储地址:
在这里插入图片描述
终端输出信息显示slave1已连接到master IP: http://192.168.52.132:8528,同时显示在等待三个server,由于是三台机器,需要全部启动后才能启动集群。
Slave2启动命令如下,/home/keyfile/jwtSecret是存储jwt密钥文件路径,/home/master/test3是数据库在本机存储地址:

在这里插入图片描述
终端输出信息显示slave2作为slave启动,这时三台机器全部启动,整个集群就启动了,所以这里显示的内容比刚才在slave1上看到的更多。
Slave2启动后,master终端输出信息如下,前两行表示有两台新机器加入集群中,后续信息中显示agent up and running, dbserver up and running, coordinator up and running,并且agent的端口是8531,DBserver的端口是8530,coordinator的端口是8529。倒数第二行表示集群可以在浏览器中输入http://192.168.52.132:8529登陆,最后一行表示集群还可以在arangodb shell中输入arangosh --server.endpoint tcp://192.168.52.132:8529登陆。
在这里插入图片描述
集群启动后slave1终端输出信息如下:
在这里插入图片描述
集群启动后slave2终端输出信息如下:
在这里插入图片描述

4. 登陆

在浏览器中输入http://192.168.52.132:8529,将会看到认证界面,初始状态下root是没有密码的,在username中输入root,直接点击Login就可登陆,然后选择数据库。
在这里插入图片描述
如果希望更改root用户的登陆密码,可在左侧栏点击users–>root–>change Password,然后输入两次密码即可。
在这里插入图片描述
这种方法只在创建新数据库时有效,也就是说按照下面方法创建的集群数据库,用web interface登陆时需要认证,而且后续启动时无需增加—auth.jwt-secret=/home/keyfile/jwtSecret参数也需要认证,如果在创建集群数据库时没有按照下面方法使用密钥文件,用web intrface登陆时无需认证,而且后续启动时即使增加参数—auth.jwt-secret=/home/keyfile/jwtSecret也无需认证。

猜你喜欢

转载自blog.csdn.net/qq_27668313/article/details/88998956
今日推荐