如何告诉Apache Tomcat谁必须处理收到的数据?

问题描述 投票:1回答:1

我正在使用最新的Apache Tomcat(9.0.16),以及最新的Java / OpenSSL。我从NEXUSe2e.org获得了一个带有服务器应用程序的WAR文件。

我能够向服务发送安全消息。过了一会儿,有人会发送安全回复消息作为新的https消息。

在日志记录中,我可以看到TomCat正在解密此消息。检测到这是一个新的SOAP action: ebXML

这是使用文件%catalina_home%\conf\server.xml中的以下连接器完成的

<Connector
  port="443"
  protocol="org.apache.coyote.http11.Http11AprProtocol"
  redirectPort="8443"/>

<Connector
  port="8443"
  protocol="org.apache.coyote.http11.Http11AprProtocol"

  SSLEnabled="true"
  secure="true"
  scheme="https"

  defaultSSLHostConfigName="_default_">
  <SSLHostConfig 
    hostName="_default_"
    certificateVerification="required"

    <Certificate
      certificateChainFile="conf\Certificates\TrustedCertificates.pem"
      certificateFile="conf\Certificates\... .crt"
      certificateKeyFile="conf\Certificates\... .private.key"/>
  </SSLHostConfig>
</Connector>

当数据被正确解密后,它必须转到我的服务器代码(NEXUSe2e)。 TomCat如何知道谁必须处理数据?

  • TomCat是否主动将收到的数据发送到服务器。它是否在配置文件中的哪个位置期待数据?
  • 服务器是否定期轮询以查看是否已收到数据?
tomcat server war web-deployment catalina
1个回答
0
投票

Tomcat通过查看您请求的URL知道哪个应用程序将处理您的请求,并检查是否有任何context匹配。没有等待或轮询,事物会自动链接。

在您的情况下,您只是在webapps目录中复制war文件,这称为Automatic Application Deployment。还有其他方法可以配置上下文,但在足够的情况下保持简单是很好的。

如果您使用虚拟主机,事情会有点复杂,因为Tomcat将首先检查您请求的域名,然后检查相关的上下文。

© www.soinside.com 2019 - 2024. All rights reserved.