Arangodb集群web interface登陆认证设置
目录
使用Web interface登陆集群前添加认证功能
使用Arango starter启动集群时,默认情况下无需认证即可登陆集群。实际情况是:使用arangosh登陆需要认证,而使用web interface则无需认证。
我的集群配置情况在博客:
https://blog.****.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也无需认证。