Pentaho + apache反向代理+代理SSL集成

我有一个合并pentahodocker集装箱到我们的内部基础设施的问题。

概述:域代理正在侦听端口443(处理SSL和LDAP身份validation),并将stream量redirect到apache反向代理(通过覆盖networking作为群集中的docker服务)。 反向代理将请求redirect到pentaho容器(也是作为反向代理的同一群集中的docker服务)。

configuration:(只有相关线路)域代理(不由我们pipe理):在443上监听并redirect到反向代理泊坞亭容器反向代理:监听80

<VirtualHost *:80> ServerAlias reverse-proxy ServerName reverse-proxy #pentaho redirect <Location "/application/pentaho"> ProxyPass "ajp://pentaho_host:8009/application/pentaho" ttl=480 ProxyPassReverse "ajp://pentaho_host:8009/application/pentaho" </Location> 

Pentaho容器:

Pentaho使用以下设置更改上下文:

system/server.properties文件:

 fully-qualified-server-url=https://example.com/application/pentaho 

Tomcatconfiguration:

tomcat/conf/server.xml

 <Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" redirectPort="8443" #Without ProxyName and ProxyPort tomcat redirects all app buttons to http://localhost:8009/ ProxyName="example.com" ProxyPort="443" /> 

上下文变化

 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/application/pentaho" debug="0" docBase="pentaho" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> 

这里的问题是,当我访问https://example.com/application/pentaho时 ,我得到pentahologin页面( https://example.com/application/pentaho/Login ),并用我的login信息我再次被redirect到相同的login页面(与; JSESSION 32IBN4O1I23N21OI3 …),但在控制台,我可以看到,login后,请求通过j_spring_security_check(HTTP 302确定),然后到https://example.com/application / pentaho / Home ….(也用HTTP 302find),然后回到login…

访问日志:

 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/Login HTTP/1.1" 200 7208 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/webcontext.js HTTP/1.1" 200 4472 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/content/sparkl/resources/sparkl-require-js-cfg.js HTTP/1.1" 200 1525 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/content/client-config-folder-enabler/client-config-enabler-require-js-cfg.js HTTP/1.1" 200 1019 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/js/themes.js HTTP/1.1" 200 1346 xxxx - - [21/Sep/2017:15:11:49 +0000] "GET /application/pentaho/CacheExpirationService HTTP/1.1" 200 1161 xxxx - - [21/Sep/2017:15:11:52 +0000] "POST /application/pentaho/j_spring_security_check HTTP/1.1" 302 - xxxx - - [21/Sep/2017:15:11:52 +0000] "GET /application/pentaho/Home;jsessionid=09D72F59187B02D027D4313EBDA645EA HTTP/1.1" 200 4928 xxxx - - [21/Sep/2017:15:11:52 +0000] "GET /application/pentaho/Home?locale=en_US HTTP/1.1" 302 - xxxx - - [21/Sep/2017:15:11:52 +0000] "GET /application/pentaho/Login;jsessionid=B9B10CD32A3CD832C87243A5610C3B09 HTTP/1.1" 200 7301 xxxx - - [21/Sep/2017:15:11:52 +0000] "GET /application/pentaho/webcontext.js HTTP/1.1" 200 4472 

一遍又一遍

你们知道什么可以在这里configuration错误吗?