我需要有关 https 的建议。 以下是server.xml文件的配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxParameterCount="1000"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
maxParameterCount="1000"
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate
certificateKeyFile="conf/privateKey.pem"
certificateFile="conf/certificateCA.crt"
certificateChainFile="conf/certificate.crt"
type="RSA" />
</SSLHostConfig>
但是,此配置不会在端口 8443 上运行 mi 服务器。 没有侦听端口 8443。 它仅适用于端口 8080。
Tomcat 日志中显示以下消息:
15-Jul-2024 13:53:17.390 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"] 15-Jul-2024 13:53:17.406 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[org.apache.coyote.http11.Http11AprProtocol-8443]] org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available at org.apache.catalina.connector.Connector.initInternal
我该如何解决这个问题?
TC9和Windows上的修复是按照与此安装APR。
解压它。将
tomcat-native-1.3.0-openssl-3.0.13-win32-bin.zip\bin\x64\tcnative-1.dll
处的文件复制到Tomcat使用的java bin文件夹中,即
%JRE_HOME%/bin
。如果您找不到 java bin 位置,也可以将其放入
C:\Windows\System32
。启动Tomcat。您应该在日志中看到以下内容,并且 HTTPS 在端口 8443 上提供服务。
OpenSSL successfully initialized