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

时间:2015-12-30 08:48:43

标签: java proxy kibana jetty-9

我们试图将kibana服务器隐藏在码头后面并将其用作反向代理 会发生什么事情,我们做mange从kibana获取索引html文件,但当页面尝试检索其图像和CSS失败时,404。 我们看到的是,我们尝试获取索引html:http://localhost:8181/sdc1/kibanaProxy

然而,该页面试图访问它进入的CSS:
http://localhost:8181/sdc1/styles/main.css?_b=7616

这是我在jetty代理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在代理后面工作。 我错过了什么?

1 个答案:

答案 0 :(得分:0)

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

这解决了所有问题。