从基于PHP的Web服务器redirect到ELB和Tomcat应用程序

我有一个AWS部署,我有一个Web服务器(提供基于PHP的网站)和一个应用程序服务器(提供基于JSP/Tomcat的应用程序)。 从Web服务器到应用程序服务器的redirect是通过端口8009上的AJP进行的workers.properties这在workers.properties指定。

当只有一个应用程序服务器在workers.propertieshost指令中指定了专用IP时,此方法可以很好地工作。

应用程序服务器放置在ELB后面时,此redirect失败。 从PHP到Tomcat的redirect失败。 我到目前为止所尝试的:

  1. workers.properties文件中指定了ELB端点。
  2. virtualhost.conf文件中的所有JkMount指令更改为ProxyPass指令。 以下是更改:
    JkMount /application* tomcat1

    ProxyPass /application ajp://ELBDNSName:8009/application

这也是行不通的。

如何使redirect正常工作?

你很混淆事物:

  • 这不是redirect,而是反向代理的情况。
  • AJP是一个协议。

您可能以HTTP模式创build了ELB,这意味着它会尝试将HTTP同时与客户端和上游进行通话。 因为你告诉他们双方都要说AJP,所以很失败。 留下ProxyPass的东西,并将ELB切换到TCP 应该使事情工作。

我强烈build议你继续学习或聘请专家。