0


Elasticsearch-head访问 elasticsearch 报错 401 解决方案

配置值系统MacOSes 版本8.3
401 报错本质没有权限, 先记住这个事.然后顺着这个思路去解决, 因为 elasticsearch 在启动时会运行 xpack(这东西是什么, 这里不做讨论)
当你第一次运行 elasticsearch 的时候它会 给你用户名, 密码, 以及 kibana 的 token(30分钟有效期)等, 这次运行之后你就会发现的配置文件多了几行 看下图
在这里插入图片描述
回到正题报错 401 就是因为没有权限, 为什么没有权限因为多了这段配置? 这段配置干嘛的你无需知道, 你只需要知道里面有 ssl, 如果你想

跳过密码登录这个过程

你直接把上面图中的 enable 都设置成 false, 但这样就跟裸奔没区别. 大多数人还是想使用密码来保证服务器的安全性.

这时候我们插播一个跨域问题, 跨域分为前端跨域跟后端跨域, 而elaticsearch本身就是一个服务器, 它的跨域本质上就是后端跨域. 只需要在 config/elasticsearch.yml中加如下配置

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "*"

上面这段配置把权限给到最大了, 至于你想把 elasticsearch 的访问权限的颗粒度设置成多小, 你可以看文档自己去改.
当如上的配置完成之后, 要重启 es 服务, 也就是 bin 目录下运行

./elaticsearch

然后再去运行elaticsearch-head(至于你是用 grunt 还是直接 npm start 自行研究)
然后回到localhost:9100 F12看控制台还是报错, 不要慌 是因为你

没有传密码

. 还记得第一次运行 elasticsearch 时给你的密码跟 token 吗? 如果忘了请参考官方文档 rest-password
忘记 elasticsearch 初始密码怎么办?

当以上问题都解决了, 请用如下格式请求 9100 端口

http://localhost:9100/?auth_user=你的用户名&auth_password=你的密码

引用请注明出处, 抄袭必究.


本文转载自: https://blog.csdn.net/weixin_43071838/article/details/125712539
版权归原作者 Scala没有静态 所有, 如有侵权,请联系我们删除。

“Elasticsearch-head访问 elasticsearch 报错 401 解决方案”的评论:

还没有评论