我在运行RHEL7的Amazo EC2实例上运行了elasticsearch 1.4和kibana4。
Kibana4作为独立进程运行,并未部署在诸如nginx之类的Web容器中。它正在侦听端口5601(默认端口)。我想让kibana听80号端口。
这可以在不使用nginx的情况下实现吗?如果是的话怎么样?
答案 0 :(得分:3)
编辑文件{kibana-directory} /config/kibana.yml。找到这一行:
port: 5601
并将其更改为:
port: 80
答案 1 :(得分:3)
您需要设置功能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
答案 2 :(得分:0)
此处完整设置:https://www.elastic.co/guide/en/kibana/current/settings.html
这应该添加到config / kibana.yml server.port:80
用sudo运行kibana服务器。确保没有进程同时使用端口80。
答案 3 :(得分:0)
在配置文件中设置端口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重定向。