Elasticsearch 8.3.2访问localhost:9200需用户名密码的解决求助
解决Elasticsearch 8.3.2访问时的身份验证问题
Elasticsearch 8.x版本默认开启了身份验证功能,所以访问localhost:9200时会要求输入用户名和密码,下面是几种实用解决方式:
1. 获取或重置初始密码
- 默认管理员用户是
elastic,初始密码在Elasticsearch安装日志里:
打开日志文件(路径通常是/var/log/elasticsearch/elasticsearch.log),搜索关键词Generated elastic user password,就能找到自动生成的初始密码。 - 如果找不到日志,直接重置
elastic用户密码:
进入Elasticsearch的bin目录,执行命令:
按照命令行提示操作,就能生成新密码。./elasticsearch-reset-password -u elastic
2. 临时禁用认证(仅开发环境)
如果是本地开发测试,不想开启认证,可以修改Elasticsearch配置文件:
- 打开
config/elasticsearch.yml,添加或修改配置项:xpack.security.enabled: false - 重启Elasticsearch服务,比如Linux下执行:
重启后访问systemctl restart elasticsearchlocalhost:9200就不会再弹出身份验证窗口。
3. 配置Magento适配认证(生产环境推荐)
如果要保留Elasticsearch的安全认证,需要在Magento中配置对应的账号信息:
- 方式一:后台配置
进入Magento后台,依次打开Stores > Settings > Configuration > Catalog > Catalog Search,选择Elasticsearch8作为搜索引擎,填写Username(默认是elastic)和Password(你获取/重置的密码),保存配置并刷新缓存。 - 方式二:修改
env.php文件
在Magento根目录的app/etc/env.php中添加或更新Elasticsearch配置:
保存后刷新Magento缓存即可。'elasticsearch8' => [ 'host' => 'localhost', 'port' => '9200', 'username' => 'elastic', 'password' => '你的密码', 'enableAuth' => true, 'timeout' => 15, ],
内容的提问来源于stack exchange,提问作者Ayush Srivastava
相关产品推荐
相关产品推荐

