6

我在运行 RHEL7 的 Amazo EC2 实例上运行了 elasticsearch 1.4 和 kibana4。

Kibana4 作为独立进程运行,未部署在 nginx 等 Web 容器中。它正在侦听端口 5601。(默认端口)。我想让 kibana 监听 80 端口。

这可以在不使用nginx的情况下实现吗?如果是怎么办?

4

4 回答 4

6

您需要设置CAP_NET_BIND_SERVICE将非 root 进程绑定到特权端口(<1024)的功能

让 kibana 监听 80 端口:

1- 在 /etc/kibana/kibana.yml 中编辑 kibana 端口

server.port : "80"

2-运行以下命令:

sudo setcap cap_net_bind_service=+epi /usr/share/kibana/bin/kibana
sudo setcap cap_net_bind_service=+epi /usr/share/kibana/bin/kibana-plugin
sudo setcap cap_net_bind_service=+epi /usr/share/kibana/bin/kibana-keystore
sudo setcap cap_net_bind_service=+epi /usr/share/kibana/node/bin/node
于 2020-07-02T15:47:10.067 回答
5

编辑文件 {kibana-directory}/config/kibana.yml。找到这一行:

port: 5601

并将其更改为:

port: 80
于 2015-04-14T03:24:46.367 回答
1

在config文件中设置80端口会触发如下错误 kibana[11777]: FATAL Error: listen EACCES: permission denied 0.0.0.0:80 ,因为kibana服务默认在用户kibana下执行

您可以将用户更改为root,但这会触发以下警告 kibana[11639]: Kibana should not be run as root. Use --allow-root to continue.

所以不推荐在root用户下运行kibana服务。如果您有 Web 服务器,最好制定端口转发规则或 HTTP 重定向。

于 2019-10-10T13:02:35.127 回答
0

此处的完整设置:https ://www.elastic.co/guide/en/kibana/current/settings.html

这应该添加到 config/kibana.yml server.port: 80

并使用 sudo 运行 kibana 服务器。确保没有进程同时使用端口 80。

于 2017-01-06T17:34:42.340 回答