与 Tomcat 9 的 Httpd 集成

Httpd integration with Tomcat 9

我需要使用 Tomcat 配置 httpd。我尝试了几个步骤,但没有用。

1) 我安装了 httpd2.4 和 tomcat9。用 localhost:8080 和 localhost 分别检查,它工作得很好。
2) 为了配置,我对 httpd 进行了以下更改。

a) 取消 LoadModule 下面的注释

  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  LoadModule proxy_connect_module modules/mod_proxy_connect.so
  LoadModule proxy_express_module modules/mod_proxy_express.so
  LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  LoadModule proxy_http_module modules/mod_proxy_http.so

b) 添加了新的虚拟主机

  <VirtualHost ws.foobar.com:80>
  ServerName ws.foobar.com

  ProxyRequests Off
  ProxyPass /examples ajp://localhost:8009/examples
  ProxyPassReverse /examples ajp://localhost:8009/examples
  </VirtualHost>

3) 同样,完成 Tomcat 的更改并取消注释 AJP 连接器。

    <!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector protocol="AJP/1.3"
           address="::1"
           port="8009"
           redirectPort="8443" />

进行这些更改后,我也更改了 windows 系统上的主机文件。

  "# localhost name resolution is handled within DNS itself.
  # 127.0.0.1       localhost
  # ::1             localhost
  103.73.151.211    ws.foobar.com
   192.168.0.103    ws.foobar.com
    127.0.0.1      ws.foobar.com
     ::1            ws.foobar.com"

完成所有这些更改后,我的 httpd.exe 未启动,tomcat 启动但在启动时出现 AJP 错误。

我自己已经弄清楚了问题以及如何使用 tomcat 配置 Apache。

我做了以下更改:

  1. 未注释 LoadModule proxy_module modules/mod_proxy.so & LoadModule proxy_http_module modules/mod_proxy_http.so 来自 httpd.conf 文件
  2. uncommented Include conf/extra/httpd-vhosts.conf, always in httpd.conf 在 httpd-vhosts.conf 中,我添加如下。删除“< V”之间的 space,因为不知何故没有 space 它不会显示在 Whosebug 中。

    < VirtualHost *:80>
    ServerName localhost
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /  http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    < /VirtualHost>