Elasticsearch and Kibana data sources timeout on SSL base URL

Issue Summary

Our Elasticsearch cluster is secured with SSL. When adding an Elasticsearch or Kibana data source with the base URL as https://es-node.example.com:9200 or for Kibana https://kibana.example.com:5601 I get the following error:

2021-04-22T01:38:49.912387159Z [2021-04-22 01:38:49 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:55)
2021-04-22T01:38:49.916432616Z [2021-04-22 01:38:49 +0000] [55] [INFO] Worker exiting (pid: 55)
2021-04-22T01:38:50.166183492Z [2021-04-22 01:38:50 +0000] [110] [INFO] Booting worker with pid: 110

When I drop https from the base URL, I get the following error:

2021-04-22T01:41:55.309782903Z [2021-04-22 01:41:55,308][PID:99][ERROR][redash.query_runner.elasticsearch] No connection adapters were found for 'kibana.example.com:5601/_cluster/health'
2021-04-22T01:41:55.309884580Z Traceback (most recent call last):
2021-04-22T01:41:55.309902473Z   File "/app/redash/query_runner/elasticsearch.py", line 281, in test_connection
2021-04-22T01:41:55.309906576Z     r = requests.get("{0}/_cluster/health".format(self.server_url), auth=self.auth)
2021-04-22T01:41:55.309925408Z   File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 75, in get
2021-04-22T01:41:55.309929269Z     return request('get', url, params=params, **kwargs)
2021-04-22T01:41:55.309932471Z   File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 60, in request
2021-04-22T01:41:55.309935842Z     return session.request(method=method, url=url, **kwargs)
2021-04-22T01:41:55.309939040Z   File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 533, in request
2021-04-22T01:41:55.309942444Z     resp = self.send(prep, **send_kwargs)
2021-04-22T01:41:55.309945917Z   File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 640, in send
2021-04-22T01:41:55.309949222Z     adapter = self.get_adapter(url=request.url)
2021-04-22T01:41:55.309952372Z   File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 731, in get_adapter
2021-04-22T01:41:55.309955997Z     raise InvalidSchema("No connection adapters were found for '%s'" % url)
2021-04-22T01:41:55.309959493Z InvalidSchema: No connection adapters were found for 'kibana.example.com:5601/_cluster/health'

I populate the basic auth parameters with the credentials of the elastic superuser, but still no luck

Technical details:

  • Redash Version: 8.0.2
  • Browser/OS: Ubuntu 18.04
  • How did you install Redash: setup.sh → docker-compose