gpt4 book ai didi

ruby-on-rails - Ruby On Rails:ElasticSearch身份验证(轮胎和ElasticSearch-rails)

转载 作者:行者123 更新时间:2023-12-02 22:45:59 24 4
gpt4 key购买 nike

我在Heroku上部署了Ruby On Rails应用,即时通讯使用ElasticSearch附加组件,我的 flex 搜索集群正常运行,但是最近ElasticSearch附加组件要求所有集群强制执行身份验证以保护托管集群内部的数据,现在,根据每个请求,我们尝试使我们收到以下异常:

Tire::Search::SearchRequestFailed (401 : {"error":{"root_cause":[{"type":"security_exception","reason":"action [indices:data/read/search] requires authentication","header":{"WWW-Authenticate":"Basic realm=\"shield\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"action [indices:data/read/search] requires authentication","header":{"WWW-Authenticate":"Basic realm=\"shield\" charset=\"UTF-8\""}},"status":401}):

我们从Elasticsearch随附的Shield插件中配置了一些用户,但是我不确定如何从我的ruby On Rails应用程序中输入此身份验证,我正在使用Tyre将 flex 搜索集成到我的Ruby On Rails应用程序中,但找不到我可以输入这些信息来验证我的应用程序并解决此问题。

我们想知道如何使用这两个gem进行身份验证:
ElasticSearch-railsTire

最佳答案

我建议使用elasticsearch-rails而不是轮胎(废弃)。

使用elasticsearch-rails:

gemfile

gem 'elasticsearch'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'

模型是否可搜索

feature extraction pattern(可搜索关注)应用于模型。

配置您的 flex 搜索客户端

使用通用URL格式的带有auth的初始化程序( config/initializers/elastic_search_client.rb或其他)中的所有模型
Elasticsearch::Client.new url: 'https://username:password@api.server.org:4430/search'

或使用哈希使用auth
Elasticsearch::Client.new hosts: [
{ host: 'my-protected-host',
port: '443',
user: 'USERNAME',
password: 'PASSWORD',
scheme: 'https'
} ]

查看 advanced client options了解更多信息。

注意:我不是自己测试的,这是理论,也许有些东西缺失,请检查 elasticsearch-rails docs

我希望这有帮助。

关于ruby-on-rails - Ruby On Rails:ElasticSearch身份验证(轮胎和ElasticSearch-rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49805203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com