【问题标题】:Set up access to Kibana via NGINX设置通过 NGINX 访问 Kibana
【发布时间】:2021-08-18 19:25:30
【问题描述】:

我在 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+3IbVqp3ujLaR+s+kSP5UI=”)或随机数(“nonce-...”)。

Uncaught SyntaxError: Unexpected token '

清单:行:1,列:1,语法错误。

我做了很多研究,但到目前为止我还没有找到解决方案。这里有人经历过吗?我该如何解决这个问题?

【问题讨论】:

    标签: ubuntu elasticsearch nginx kibana elk


    【解决方案1】:

    听起来你要么

    1. 添加了 CSP 策略(可能在 nginx 中),但安装的规则对 Kibana 或
    2. 来说不够宽松
    3. 使用需要在 CSP 中修复的 Kibana 版本。

    对于 (1):通常这是 add_header Content-Security-Policy ... 块内的 add_header Content-Security-Policy ... 之类的行。你可以禁用它或分享它来制定正确的规则吗?

    对于 (2):您的 Kibana 版本是什么?您可以在 kibana.yml 中使用 csp.rules: [] 覆盖该设置,但我会首先尝试弄清楚为什么这对您来说失败。

    PS:为什么首先需要代理?如果是出于安全考虑 - Elasticsearch + Kibana 已免费使用 2 年,您可以set it up directly in the components

    【讨论】:

    • 感谢您的回答!所以我在服务器内部没有add_header 。会是这样吗?我使用 nginx 是因为我有几个项目使用同一个域,所以使用 nginx 我可以重定向。
    • 如果您想在同一个端口上提供多个服务,那么代理是一个很好的用途。只要确保您启用了安全性,因为您似乎直接公开了 Kibana (server.host: 0.0.0.0)。如果您没有自己设置add_header,我会在解决方案中添加另一个选项。
    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多