Tomcat中的redirect端口是什么?

很难理解tomcat文档,查看server.xml,你会发现一些端口可能很难理解,因为在文档中没有很好地解释它。

例如,这个行在configuration文件server.xml

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

在这里你可以find另一个redirect端口:

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

我明白连接器端口的作用。 在第一种情况下,你使用它来在apache中创build一个工作者,然后在那里发送它,然后你打开一个端口直接访问tomcat。 但是,当涉及redirect端口的事情变得模糊。

下面是tomcat文档给出的关于ajp端口的解释:

如果此连接器支持非SSL请求,并且收到匹配需要SSL传输的请求,Catalina将自动将请求redirect到此处指定的端口号。

我总是select一个超过1024的随机redirect端口,它的工作原理,

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

我有一个运行tomcat模块的卫星服务器。 这个模块通过从主服务器将stream量redirect到带有apache的ajp连接器,反之亦然。

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

正如文档中所定义的那样,当SSL请求到达服务器时,redirect端口将进入画面,由于http连接器端口不能处理SSL请求,它将redirect到定义的端口。 但是它们必须是server.xml文件中定义的另一个部分,其中定义的redirect端口将充当连接器端口来处理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"/> 

密钥库文件是您的网站的SSL证书。

如果您不使用redirect端口将其他部分configuration为连接器端口,则您的请求将不会被redirect到该端口。 例如,如果网站不支持ssl请求,并且您尝试向该网站发送https请求,则会在浏览器上显示安全连接失败等错误。