我在Ubuntu服务器版本18.x上安装了Elasticsearch和Kibana。安装成功。
为了访问Kibana,我在NGINX前面使用了一个反向代理。为了进行这些安装和配置,我依赖于此链接https://www.digitalocean.com/community/tutorials/como-instalar-elasticsearch-logstash-e-kibana-elastic-stack-no-ubuntu-18-04-en
NGINX的配置为
location /kibana {
proxy_pass http://localhost:5601/app/kibana;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
Kibana的配置:文件kibana.yml
为
server.port: 5601
server.host: 0.0.0.0
然而,当我试图通过Google Chrome、Mozilla Firefox或Apple Safari访问Kibana时(这是我测试的浏览器(,我得到了以下错误
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:"script src"unsafe eval"self"。启用内联执行需要"unsafe inline"关键字、哈希('sha256-SHHSeLc0bp6xt4BoVVyUy+3InVqp3ujLaR+s+kSP5UI='(或nonce('none-…'(。
未捕获的语法错误:意外的标记"<">
清单:行:1,列:1,语法错误。
我做了很多研究,但到目前为止我还没能找到解决方案。这里有人经历过这种事吗?我该如何解决这个问题?
听起来你要么有
- 添加了一个CSP策略(可能在nginx中(,但安装的规则对Kibana或
- 使用需要在CSP中进行修复的Kibana版本
For(1(:通常这是server {}
块内类似add_header Content-Security-Policy ...
的一条线。你能禁用或共享它来制定正确的规则吗?
对于(2(:你对Kibana的看法是什么?您可以在kibana.yml中使用csp.rules: []
覆盖该设置,但我首先想弄清楚为什么这对您来说失败了。
PS:你为什么首先需要代理?如果是为了安全起见,Elasticsearch+Kibana已经免费使用了两年,你可以直接在组件中设置它。