Apache/Tomcat 端口信息

Kan*_*mar 4 tomcat port apache-2.2

我对 Apache HTTPD 服务器和 Tomcat Web 服务器端口配置有一些疑问。

通过netstatTOMCAT/conf/server.xml我明白:

  • 80 和 443 端口分别被 Apache 用于 HTTP 和 HTTPS 请求。
  • 8080 和 8443 端口分别被 Tomcat 用于 HTTP 和 HTTPS 请求。
  • 还有一个使用“AJP/1.3”协议的连接器端口=“8009”。(AJP 连接器用于您希望将 Tomcat 4 隐形集成到现有(或新)Apache 安装的情况)

然而:

  1. 8009 端口如何与 Apache 和 Tomcat 端口关联?这是否意味着连接器、Apache、Tomcat 等之间的请求是如何交换的?

  2. 是什么启动了这个 AJP 连接器(Tomcat 或 Apache)?

    因为即使在 Apache 启动时;我没有看到在 8009 侦听的套接字。但这是在 中提到的端口apache2/conf/workers.properties

    我想在Tomcat启动后这个端口是可用的。

  3. server.xml什么是redirectPort 8443的目的是什么?

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

Fre*_*edi 6

好的,我会试着回答你。

考虑 Apache HTTPD 和 Apache Tomcat 两个朋友(我将它们简称为HTTPDTomcat)。他们每个人都有与其他人交流的方式,比方说通过手机和lineland 电话或IM。

Tomcat有三部电话接听电话:

  • 一种用于接听国际电话,其中他说的是(信息学)世界中大多数人使用的语言,HTTP。这款手机拥有一个国际商定的子编号(端口),它是80,但可以是任何数字。碰巧 Tomcat 有点古怪,默认情况下更喜欢 8080,因此您可以在默认情况下在 8080 端口对他说 HTTP。

  • 另一个用于接听国际贵宾电话的电话,他们希望非常确定他们正在与 Tomcat 通话并且没有人可以听到他们的电话,所以他们说以前的国际语言,但会切换词(加密,HTTP S)。按照国际协议这个端口是443,但是正如我们所说的Tomcat是古怪的,他为这个端口选择了8443。

  • Tomcat 的第三部电话,他只用它来接听说他自己的语言 AJP(他住在 Java 应用程序服务器国家)的人的电话。根据国际普通法,它是 8009 端口。

HTTPD 只有两部电话接听电话

  • 前两个与 Tomcat 相同,但 HTTPD 并没有那么古怪,更喜欢使用正常约定的数字,HTTP 为 80,HTTPS 为 443。

故事

现在 HTTPD 有一家商店。有时顾客要求店里没有的东西,但当他知道Tomcat有东西时,他会打电话给Tomcat并让他带东西。 与Tomcat交谈HTTPD可以使用国际语言,HTTP和HTTP S,但通常Tomcat更乐意说他自己的语言,AJP。所以 HTTPD 知道有两个翻译器可以帮助他用 Tomcat 说 AJP,mod_jk ( http://tomcat.apache.org/connectors-doc/ ) 和mod_proxy_ajp ( https://httpd.apache.org/docs/2.4 /mod/mod_proxy_ajp.html)。

现在更严重的是,默认情况下,HTTPD 在端口 80 上侦听 HTTP,在端口 443 上侦听 HTTPS。

Tomcat 在端口 8080 上侦听 HTTP,端口 8443 上侦听 https,端口 8009 上侦听 AJP。

您可以使用它的配置文件 httpd.conf 或其中包含的文件中的 Listen 指令为 HTTPS 配置端口。所以 grep 听听检查它们。

您可以为 server.xml 中的端口配置 Tomcat。在 Tomcat 语言中,这些是连接器(与 HTTPD 中的侦听相反)。至于您的配置,如果您将 Tomcat 设置为使用 HTTP S,他会将 HTTP 中的请求重定向到配置的端口。

请记住,HTTPD负责管理他的端口,Tomcat负责管理他自己的端口,并且一个端口一次只能监听一个应用程序。因此,如果您在同一台机器上同时安装了 HTTPD 和 Tomcat,它们就非常适合,因为默认情况下使用的端口是不同的:

HTTPD:端口 80 和 443

Tomcat:端口 8080 8443 和 8009。