Java 如何正确配置Tomcat SSLHostConfig?
我遵循本教程在tomcat中启用ssl: 虽然tomcat在最后运行,但我无法访问https,表示无法连接。所以我检查了日志,得到:Java 如何正确配置Tomcat SSLHostConfig?,java,tomcat,configuration,ssl-certificate,Java,Tomcat,Configuration,Ssl Certificate,我遵循本教程在tomcat中启用ssl: 虽然tomcat在最后运行,但我无法访问https,表示无法连接。所以我检查了日志,得到: Caused by: java.io.IOException: SSLHostConfig attribute certificateFile must be defined when using an SSL connector ,但我的certificateFile的定义如下所示: <Connector port="443"
Caused by: java.io.IOException: SSLHostConfig attribute certificateFile must be defined when using an SSL connector
,但我的certificateFile的定义如下所示:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="100"
compression="on"
scheme="https"
SSLEnabled="true"
secure="true"
SSLVerifyClient="none"
SSLProtocol="TLSv1.2"
defaultSSLHostConfigName="test.test">
<SSLHostConfig hostName="test.test">
<Certificate certificateFile="conf/cert.pem" certificateKeyFile="conf/privkey.pem" certificateChainFile="conf/chain.pem" />
</SSLHostConfig>
</Connector>
这些文件以conf格式存在/
tomcat 9文档:SSLHostConfig和Certificate部分使用了新属性(自tomcat 8.5以来)和不推荐使用的属性(参见)。设置的效果,例如SSLProtocol
是创建第二个
主机名\u默认值
。这就是错误消息所指的元素
您应该将过时的标记(SSLVerifyClient
和SSLProtocol
)替换为它们当前的对应标记(如果需要默认值,可以省略它们):
备注:您在特定于APR连接器的位置使用的属性。如果这个选择是有意的,那么应该将协议更改为org.apache.coyote.http11.Http11AprProtocol