自助托pipe的kibana 5.1.1在连接到AWS Elasticsearch 5.1.1后显示空白页面
由于安全原因,我们决定使用kibana
image kibana:5.1.1
(为了与AWS elasticsearch
版本兼容)运行一个自承载的kibana
站点。
但是,设置完毕后, kibana
网站显示空白页面。 Kibana
日志显示没有错误,并从kibana
实例内部的kibana
curl
得到正常的“你知道,search”的回应。 有谁知道我错过了什么?
以下是kibana
设置:
server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://some-es-instance.ap-northeast-1.es.amazonaws.com:80" elasticsearch.preserveHost: true kibana.index: ".kibana-dev" kibana.defaultAppId: "discover" elasticsearch.ssl.verify: false elasticsearch.requestTimeout: 300000 elasticsearch.shardTimeout: 0 elasticsearch.startupTimeout: 5000 logging.quiet: true logging.verbose: false
这个实例被托pipe在oauth2代理和elb后面的私有子网中。
事实certificate,oauth2代理默认将授权标头传递给kibana和kibana,并将其传递给elasticsearch。 AWS elasticsearch在授权头存在的情况下,要求所有请求都使用IAM身份进行签名,而我并没有这样做。 在将以下内容添加到我的kibana.yml
后,一切都开始正常工作:
elasticsearch.requestHeadersWhitelist: []
过去几天我一直有类似的问题。 不过,我最终设法使用nginx作为反向代理来解决这个问题。 nginx运行在EC2实例上,并直接连接到AWS ES上的Kibana。
尝试使用下面的nginx.conf文件
worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name localhost; # redirect / location = / { rewrite ^ /_plugin/kibana/ redirect; } location / { proxy_pass https://<es-domain-url>.es.amazonaws.com; proxy_http_version 1.1; proxy_set_header Authorization ""; proxy_hide_header Authorization; proxy_set_header X-Forwarded-Proto $scheme; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/htpasswd.users; } } }
- 为什么AWS有两个服务来部署Docker(一个“Infra”和一个“Platform”)?
- AWS Elastic Beanstalk Docker PHP应用程序
- 如何理解Amazon ECS群集
- ECSnetworking主机模式和链接= CannotCreateContainerError:容器已经存在
- 将Docker部署到AWS Elastic Beanstalk – 如何将端口转发到主机? (端口绑定)
- Elastic Beanstalk MultiContainer Docker环境variables
- Elastic BeanStalk Docker应用程序,编写本地文件
- 使用docker composer在AWS beanstalk上部署docker
- Docker-Machine AWS策略