我已经将rails 5应用程序部署到heroku,并且正在使用Bonsai Elasticsearch插件。我已经对其进行了配置,因此它可以从本地主机正确索引和搜索,但是在生产中失败
我按照v6.x的说明here安装了以下gem:
gem 'bonsai-elasticsearch-rails', '~> 6'
gem 'elasticsearch-model', github: 'elastic/elasticsearch-rails', branch: '6.x'
gem 'elasticsearch-rails', github: 'elastic/elasticsearch-rails', branch: '6.x'
尝试搜索或创建索引时,仅在prod中出现以下错误:
Faraday :: SSLError(返回SSL_connect = 1 errno = 0 state = SSLv2 / v3读取服务器问候A:未知协议)
也许还值得注意的是,我正在使用沙盒版的Bonsai和带有自动配置的SSL的付费heroku dyno。
答案 0 :(得分:0)
我与Bonsai支持取得了联系,他们提供了以下信息来解决我的问题:
感谢您与我们联系。问题可能是由于Ruby客户端引入了Elastic的重大更改(请参阅讨论here)。 Elastic表示他们不打算修复它。
简单的解决方法是在群集URL的末尾附加:443。换句话说,是这样的:
https:// : @ *。eu-west-1.bonsaisearch.net:443
基本上,他们将默认端口从443切换为9200,从而破坏了许多现有应用。