I've installed and configured Elasticsearch (latest) and Shield (latest). I've set up Kibana 3. I've made all the configuration changes in the long version of the Shield setup (including trying the shield.authc configuration in elasticsearch.yml for anonymous user access). I've created a user and assigned the kibana3 role.
When I go to https://192.168.10.25/kibana/, I expected to get a login dialog where I could enter a configured username/password, but I instead get the Connection Failed page. If I then, from the browser, hit Elasticsearch at https://192.168.10.101:9200 and enter the username/password I get the expected JSON response:
Then, if I re-enter the url to kibana (or remove the "#/connectionFailed/ bit and refresh), I get the default Kibana dashboard.
Is there a way to get kibana to display a login prompt so I don't have to hit the elasticsearch node directly and login there first? Or better yet, what am I missing in all of this?
Kibana 3 has your browser directly connect to Elasticsearch to run queries, etc. This means your browser starts by pointing at 192.168.10.25 which has K3, but then makes a request to 192.168.10.101, which is a "cross-origin request" (CORS). In recent versions of Elasticsearch, we disable CORS by default for security reasons. In this case, I'm guessing you will need to re-enable CORS. We outline this process in our Shield docs:
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.