Apache和Tomcat的集成

首先

我已经验证了Apache与Tomcat的集成。

动作环境:
– Apache 2.4
– Tomcat 9.0

合作的目标

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

image.png

如何設置

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进行修正。

    1. 停止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

广告
将在 10 秒后关闭
bannerAds