使用码头作为 kibana 的反向代理

using jetty as reverse proxy for kibana

我们正在尝试将 kibana 服务器隐藏在码头后面并将其用作反向代理。
发生的事情是我们确实设法从 kibana 获取索引 html 文件,但是当页面尝试检索其图像并且 css 它失败并显示 404。 我们看到的是,当我们尝试获取索引 html 时,我们将转到:http://localhost:8181/sdc1/kibanaProxy

但是,当页面尝试访问 css 时,它会转到:
http://localhost:8181/sdc1/styles/main.css?_b=7616

这是我在码头代理 servlet 中的代理函数:

public URI rewriteURI(HttpServletRequest request) {
    String requestURI = request.getRequestURI();
    String originalUrl = request.getRequestURL().toString();
    String suffix = requestURI.replace("/sdc1/kibanaProxy", "/");
    String redirectedUrl = new     StringBuilder("http://localhost:5601").append(suffix).toString();
    log.debug("KibanaServlet Redirecting request from: {} , to: {}", originalUrl, redirectedUrl);
    return URI.create(redirectedUrl);
}

现在我知道 kibana 可以在使用 nginx 的代理后面工作。 我错过了什么?

最终的根本原因是 kibana 检索所有必需的组件(css 图片等) 我们需要将代理 url 更改为以 / 结尾的代理 /sdc1/kibanaProxy --> /sdc1/kibanaProxy/

这就解决了所有问题。