首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何纠正(Wicket in) /myapp上的Tomcat会导致Apache proxy at /将不正确的重定向发送到/myapp/xxx而不是/xxx?

如何纠正(Wicket in) /myapp上的Tomcat会导致Apache proxy at /将不正确的重定向发送到/myapp/xxx而不是/xxx?
EN

Stack Overflow用户
提问于 2010-12-12 16:39:21
回答 3查看 1.9K关注 0票数 1

我已经在Tomcat中的/myapp部署了我的Wicket应用程序,并使用以下命令将其放在Apache web服务器后面

代码语言:javascript
运行
复制
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在将它们发送到客户端之前重写它们!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-20 03:55:18

您可能会发现这个Tomcat文档很有帮助:

http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html

它使用RedirectMatch和mod_rewrite解决了上述情况。

票数 0
EN

Stack Overflow用户

发布于 2011-01-18 12:36:46

我没有找到直接的答案,但使用了以下mod jk的变通方法,我猜也可以使用代理传递。

代码语言:javascript
运行
复制
RewriteRule           /myapp/(.*)      /$1 [L,R]
RewriteRule           ^(.*)            /myapp$1 [PT]
JkMount               /myapp/*         ajp13_worker

第一行将来自以/myapp/*开头的客户端的请求重定向到/* (这是Wicket/Tomcat/Apache重定向错误的结果)。

第二行将来自/*的所有请求重写到/myapp/*,第三行将它们发送到

对于代理传递,第三行应替换为:

代码语言:javascript
运行
复制
ProxyPass             /myapp/          http://localhost:8080/myapp/
ProxyPassReverse      /myapp/          http://localhost:8080/myapp/
票数 1
EN

Stack Overflow用户

发布于 2010-12-21 20:32:32

我自己没有测试过,但是你看过mod_rewrite吗?有一些例子描述了你想要做什么,here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4420866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档