【问题标题】:IIS->Tomcat Redirect: multiple worker with defaultIIS->Tomcat Redirect:默认的多个worker
【发布时间】:2016-08-11 18:28:20
【问题描述】:

我正在尝试在 IIS 中的单个域后面配置多个 Tomcat (7) 实例。 Tomcat 实例都在不同的端口上运行。我已经安装了 Tomcat isapi_rediect.dll 并配置了 IIS。

一切都与重定向器一起工作,除了(你知道那会发生)我被告知“所有其他流量必须映射到两个实例之一(它们是非常不同的应用程序)。说起来可能更准确除了特定模式之外的所有请求都需要映射到一个工作人员,并且只有特定模式(/rpt)需要转到另一个工作人员。

我在 workers.properties 中定义了两个工人:

worker.list=ajp13_1,ajp13_2
worker.ajp13_1.port=8009
worker.ajp13_2.port=8010

以及 uriworkermap.properties 中的以下内容:

/wxx|/*=ajp13_1
/rpt|/*=ajp13_2

有了这个,一切似乎都很好。除了一些(相当多的)不包括 wxx 范围的请求。我真的需要将 rpt 和所有子内容映射到 ajp3_2,并将所有其他请求映射到 ajp3_1。

如果我添加

/|*=ajp13_1

然后 ajp3_2 实际上变得无法访问,通配符匹配甚至将 /rpt/* URI 映射到 ajp3_1。

有什么办法可以做我想做的事吗?我非常感谢任何帮助 - 我花了太多时间一遍又一遍地阅读相同的参考资料。

【问题讨论】:

    标签: tomcat iis webserver ajp


    【解决方案1】:

    tomcat 连接器分两次进行匹配。第一遍包括主机,第二遍不包括。所以如果你有这样的要求:

    http://www.mydomain.com/rpt/somepage.jsp

    连接器首先会尝试将“/www.mydomain.com/rpt/somepage.jsp”与可用的映射进行匹配,如果它们都不匹配,它将尝试“/rpt/somepage.jsp”。这意味着默认映射 ("/*") 将是第一次通过时唯一匹配的内容,因为您的其他映射都不占主机。我相信您可以通过以下方式达到预期的效果:

    /*/rpt|/*=ajp13_2
    /|*=ajp13_1
    

    【讨论】:

      猜你喜欢
      • 2014-03-13
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2013-03-01
      • 2011-10-28
      • 2011-09-25
      • 1970-01-01
      相关资源
      最近更新 更多