【问题标题】:Apache fronting Tomcat - redirect urlApache 前端 Tomcat - 重定向 url
【发布时间】:2016-05-27 13:36:38
【问题描述】:

首先,我是 apache/tomcat 技术的新手,所以我不希望您会给我直接的答案。我宁愿收到提示如何解决我的问题并学习新知识:) 所以,就这样吧。

我的主机上安装了 apache 和 tomcat。 Tomcat 正在为应用程序 X 提供服务。应用程序 X 可通过两个 url 获得:

http://app_name/

并且它在(例如)下有自己的模块

http://app_name/app_module

现在,我需要重定向流量,以便输入http://app_name 的每个人都将被重定向(不更改url)到http://app_name/app_module

我正在尝试使用 mod_rewrite 模块来实现这一点,但它似乎不起作用(大部分示例取自 stackoverflow)。

【问题讨论】:

  • 你实际尝试了什么?

标签: apache tomcat mod-rewrite


【解决方案1】:

如果您需要在不更改 URL 的情况下进行重定向,可以查看带有 [P] 标志(代理)的 mod_rewrite

【讨论】:

  • 你好。我尝试使用带有选项的 mod_rewrite:RewriteEngine OnRewriteRule http://app_name/ http://app_name/app_module [P] 似乎不起作用。我仍然不断访问 *app_name 网址。
  • 您也可以像这样使用 proxyPass :ProxyRequests off ProxyPreserveHost on ProxyPass / http://app_name/app_module ProxyPassReverse / http://app_name/app_module 在您的虚拟主机 apache 中添加此行,但我有一个问题,tomcat 在女巫端口上监听?
  • 使用 netstat -anp | grep pid 我得到以下端口(描述为 LISTEN):8099、8005、8009、8080、8443。至于 proxyPass,我已经这样配置了我的 httpd.conf 文件:<VirtualHost *:80> Proxyrequests off ProxyPreserverHost on ProxyPass / http://app_name/app_module/ ProxyPassReverse / http://app_name/app_module/ </VirtualHost> 重新启动了 apache,但仍然是相同的输出。我想知道我在这里错过了什么。
  • 在虚拟主机中添加 serverName 指令:ServerName www.example.com。在描述代理规则中,app_name 的格式是这样的:localhost:8080 吗?
  • 对于代理传递,它是:ProxyPass / ajp://localhost:8009/ 在同一个端口上,Tomcat 正在等待连接。添加 ServerName 并没有改变任何东西。
猜你喜欢
  • 2018-10-12
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-08
  • 2014-04-16
  • 1970-01-01
  • 2012-04-29
相关资源
最近更新 更多