Apache和Tomcat的集成
首先
我已经验证了Apache与Tomcat的集成。
动作环境:
– Apache 2.4
– Tomcat 9.0
合作的目标
将静态内容由Apache进行处理,将动态内容由Tomcat进行处理可以获得更好的性能。
使用httpd来处理请求,并只将需要动态处理的页面交给Tomcat执行。在此过程中,Apache httpd将担任代理角色。
将Apache和Tomcat部署在同一服务器上或不同服务器上取决于系统需求。
在协作过程中,使用AJP(Apache JServ Protocol)进行通信。
AJP协议用于与Tomcat进行通信。

如何設置
1. 进行Apache的配置,设置将请求中继给Tomcat的配置。
2. 进行Tomcat的配置,设置接收来自Apache的请求的配置。
Apache的配置
将进行Httpd.conf的修改。
激活以下两个模块。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
2. 添加代理。
设置的值为:
端口号:这里使用8009端口。
目录:指定Tomcat的目录。
密码:这里将其设为YOUR_PASSWORD。
以下为母语为中文的重述选项:
※示例设置
<Location /sample/>
ProxyPass ajp://localhost:8009/sample/ secret=YOUR_PASSWORD
</Location>
Tomcat的配置
我将对server.xml进行修正。
-
- 停止8080端口。如果不使用,出于安全考虑最好停止。
- 设置示例:
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
- 启用8009端口。
・地址:连接源服务器。如果是同一台服务器,可以使用”127.0.0.1″等等。
・端口:监听端口号。与Apache配置一致。
・重定向端口:处理的端口号。
・秘钥:密码。与Apache配置一致。
如果不使用密码,则删除“secret”并将“secretRequired=”false””设置为无效。
设定的例子
<Connector protocol="AJP/1.3"
address="127.0.0.1"
port="8009"
redirectPort="8443"
secret="YOUR_PASSWORD"/>
如果不使用密码,请使用以下选项:
将secretRequired设置为false,以禁用密码。
其他
有多个可用的连接器标签。根据需要进行设置。
https://gakumon.tech/tomcat/server_xml/http.html
以下为参考网站:
https://qiita.com/polarbear08/items/f016a0675e6c9637e7b8