gpt4 book ai didi

kibana - kibana server.basePath结果为404

转载 作者:行者123 更新时间:2023-12-04 18:34:12 25 4
gpt4 key购买 nike

我在RHEL 7.2上运行kibana 4.4.1

当kibana.yml文件不包含设置server.basePath时,一切正常。 Kibana成功启动并吐出消息

[info][listening] Server running at http://x.x.x.x:5601/
curl http://x.x.x.x:5601/app/kibana返回预期的HTML。

但是,当basePath设置为 server.basePath: "/kibana4"时, http://x.x.x.x:5601/kibana4/app/kibana结果为404。为什么?

服务器以相同的日志记录成功启动
[info][listening] Server running at http://x.x.x.x:5601/


curl http://x.x.x.x:5601/返回
<script>
var hashRoute = '/kibana4/app/kibana';
var defaultRoute = '/kibana4/app/kibana';
...
</script>
curl http://x.x.x.x:5601/kibana4/app/kibana返回
{"statusCode":404,"error":"Not Found"}

为什么“/kibana4/app/kibana”返回404?

最佳答案

server.basePath的行为不符合我的预期。

我期望server.basePath对称地影响URL。这意味着请求URL将在子域/kibana4下,响应URL也将在子域/kibana4下。

不是这种情况。 server.basePath不对称地影响URL。这意味着所有请求URL都保持不变,但响应URL包含了子域。例如,仍然可以在http://x.x.x.x:5601/app/kibana上访问kibana主页,但是所有hrefs URL都包含子域/kibana4。
server.basePath仅在以下情况下有效:将代理转发到kibana之前,该代理使用删除子域的代理

以下是我使用的HAProxy配置

frontend main *:80
acl url_kibana path_beg -i /kibana4
use_backend kibana if url_kibana

backend kibana
mode http
reqrep ^([^\ ]*)\ /kibana4[/]?(.*) \1\ /\2\
server x.x.x.x:5601

重要的是 reqrep表达式,该表达式在将请求转发给kibana之前从URL删除了子域/kibana4。

关于kibana - kibana server.basePath结果为404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36266776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com