在URL上联系Elasticsearch时收到响应代码'401'表示未经授权的访问错误。这通常意味着您没有提供正确的身份验证凭据。
下面是一些可能的解决方法:
Authorization: Basic
。示例代码:
require 'net/http'
require 'base64'
url = URI.parse("http://your-elasticsearch-url")
req = Net::HTTP::Get.new(url.path)
req['Authorization'] = "Basic " + Base64.encode64("username:password").chomp
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}
puts res.body
检查Elasticsearch的访问权限:确保您具有访问Elasticsearch的适当权限。您可以检查Elasticsearch的访问控制列表(ACL)和安全设置,以确保您的用户具有所需的权限。
检查防火墙和网络设置:如果您在防火墙后面或使用代理服务器,则可能需要配置正确的网络设置才能访问Elasticsearch。确保防火墙允许从您的应用程序到Elasticsearch服务器的流量,并且代理服务器已正确配置。
请注意,这只是一些可能的解决方法,具体解决方法可能因您的环境和设置而有所不同。根据您的情况进行适当的调整和调试。
上一篇:BadRequestResult和BadRequestObjectResult之间的区别是什么?
下一篇:BadrustcodeoptimizationorIjusthaven'tdoneenough?(Euler#757)