linux – Tomcat中的重定向端口是什么?

前端之家收集整理的这篇文章主要介绍了linux – Tomcat中的重定向端口是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很难理解tomcat文档并查看server.xml,你会发现很难理解的端口沙拉,因为它在文档中没有得到正确解释或广泛解释.

例如,配置文件server.xml中的这一行

< Connector port =“8345”protocol =“AJP / 1.3”redirectPort =“9875”/>

在这里你可以找到另一个重定向端口:

<Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

我理解连接器端口的作用.在第一种情况下,您使用它在apache中创建一个worker并将其发送到那里,在第二种情况下,您打开一个端口直接访问tomcat.然而,当涉及到重定向端口时,事情变得模糊.

以下是acat端口的tomcat文档给出的解释:

If this Connector is supporting non-SSL requests,and a request is
received for which a matching requires SSL
transport,Catalina will automatically redirect the request to the
port number specified here.

我总是选择1024以上的随机重定向端口,它可以工作,

但什么时候会实现呢?如何知道请求何时需要SSL传输?

我有一个运行tomcat模块的卫星服务器.该模块通过从主服务器使用apache将流量重定向到ajp连接器而生效,反之亦然.

在主服务器中,https在apache中强制执行.这是否意味着所有请求都以加密或纯文本形式发送到卫星服务器?我知道如果我通过端口8080访问卫星服务器它没有加密,但我想知道这是否适用于重定向到主服务器的流量以及这个重定向端口在哪里生效.

解决方法

正如文档中所定义的那样,当SSL请求到达服务器时,重定向端口将会出现,并且由于http连接器端口无法处理SSL请求,因此它将重定向到定义的端口.但它们必须是server.xml文件中定义的另一个部分,其中定义的重定向端口将充当处理SSL请求的连接器端口.例如,如果您希望端口80处理http请求,端口443处理https请求,则server.xml将如下所示:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" keystoreFile="/path/to/kestorefile" keystorePass="my_keystore_password"/>

Keystorefile是您网站的ssl证书.

如果您没有将具有重定向端口的其他部分配置为连接器端口,则您的请求将不会重定向到该端口.例如,如果网站不支持ssl请求,并且您尝试向该网站发送https请求,则会在浏览器上显示全连接失败等错误.

猜你在找的Linux相关文章