【发布时间】:2010-09-21 15:21:38
【问题描述】:
当我试图在 myapp.com 上的某个页面上获取请求的 url 我得到类似的东西: http://127.0.0.1:8084/myapp/mypage
预计会是: http://myapp.com/mypage
我认为这是因为 Apache 充当了 tomcat 和用户请求/响应之间的中介
任何想法家伙为什么会发生这种行为,以及如何解决它? 谢谢
【问题讨论】:
当我试图在 myapp.com 上的某个页面上获取请求的 url 我得到类似的东西: http://127.0.0.1:8084/myapp/mypage
预计会是: http://myapp.com/mypage
我认为这是因为 Apache 充当了 tomcat 和用户请求/响应之间的中介
任何想法家伙为什么会发生这种行为,以及如何解决它? 谢谢
【问题讨论】:
您如何将 Apache 连接到 Java 应用程序服务器?
如果您使用的是普通反向代理 (mod_proxy),那么您得到的就是预期的结果。由于反向代理的性质,您将无法更改它。
另一方面,如果您使用 AJP(使用 mod_ajp 或 mod_jk),您应该会收到 http://myapp.com/mypage。
我的建议是,如果您使用的是普通反向代理,请更改为 AJP。
【讨论】:
ProxyPass /myapp/ ajp://127.0.0.1:8009/myapp
myapp 出现在您的URLs 中,您可以将TOMCAT 配置为在根/ 路径中提供服务,您的应用程序和重定向也应该可以工作。