我已经在Tomcat中的/myapp部署了我的Wicket应用程序,并使用以下命令将其放在Apache web服务器后面
ProxyPass / http://localhost:8080/myapp/
ProxyPassReverse / http://localhost:8080/myapp/
现在Wicket错误地将用户重定向到/myapp/xxx而不是/xxx。
有没有办法让Wicket(1.3.5)使用/作为根路径(而不是/myapp,它是servlet部署上下文路径)?!
编辑:下面的链接描述了一个解决方案,但它不适用于1.3.5版本:我找到了:https://cwiki.apache.org/WICKET/wicket-behind-a-front-end-proxy.html
编辑:问题是wicket使用带有ServletResponse#sendRedirect的相对路径重定向,Tomcat在开始时将它们转换为包含/myapp的绝对重定向。我试过苹果(Mod_jk),但没有什么不同!
应该有一些方法来告诉proxy-pass或mod-jk在将它们发送到客户端之前重写它们!
发布于 2011-01-20 03:55:18
您可能会发现这个Tomcat文档很有帮助:
http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html
它使用RedirectMatch和mod_rewrite解决了上述情况。
发布于 2011-01-18 12:36:46
我没有找到直接的答案,但使用了以下mod jk的变通方法,我猜也可以使用代理传递。
RewriteRule /myapp/(.*) /$1 [L,R]
RewriteRule ^(.*) /myapp$1 [PT]
JkMount /myapp/* ajp13_worker
第一行将来自以/myapp/*开头的客户端的请求重定向到/* (这是Wicket/Tomcat/Apache重定向错误的结果)。
第二行将来自/*的所有请求重写到/myapp/*,第三行将它们发送到。
对于代理传递,第三行应替换为:
ProxyPass /myapp/ http://localhost:8080/myapp/
ProxyPassReverse /myapp/ http://localhost:8080/myapp/
发布于 2010-12-21 20:32:32
我自己没有测试过,但是你看过mod_rewrite吗?有一些例子描述了你想要做什么,here。
https://stackoverflow.com/questions/4420866
复制相似问题