在Apache反向代理后面的Cas保护的站点

我的设置是:

我想要做的是将反向代理configuration为这样的东西:

 <Location /proxyTest > ProxyPass https://localhost:4448/myApp ProxyPassReverse https://localhost:4448/myApp </Location> 

然后能写

 https://localhost/proxyTest 

代替

 https://localhost:4448/myApp 

这工作得很好,我得到redirect,我得到了机票,我得到authentication等。问题是,caslogin页面的url显示:

 https://localhost:8443/cas-server/login?service=https%3A%2F%2Flocalhost%3A4448%2Fmyapp 

login后,我的浏览器中显示的url是:

 https://localhost:4448/myApp 

所以redirect没有正常工作…在某个地方,我被送回到非代理URL。 最有可能由cas客户端。 我怎样才能build立这样一个代理工作正常,所有这一切都是透明的,一旦我有一个有效的票?

正在使用tomcat的AJP? 或者在cas-client中configuration和使用神秘的cas代理callback的东西,我从来没有理解如何使用? 别的东西?

ProxyPassReverse指令是重写Apache返回的URL的redirect等。请参阅此问题以获得简明的解释。

我想你在找什么

 <Location /proxyTest> ProxyPass https://localhost:4448/myApp ProxyPassReverse https://localhost/proxyTest </Location> 

这里你使用的是http(s),所以AJP不参与。 根据文档 ,AJP不需要ProxyPassReverse,所以你可以有类似的东西

 <Location /proxyText> ProxyPass ajp://localhost:4448/myApp </Location>