我试图用Tomcat 8.5更改server.xml并尝试启动tomcat时出现以下错误:
09-Feb-2017 06:23:25.278警告[main] org.apache.catalina.startup.Catalina.load使用conf/server.xml加载Catalina.start:错误在(135,20):为此提供了多个SSLHostConfig元素主机名[ 默认 ].主机名必须是唯一的.
相关的server.xml代码:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" >
<SSLHostConfig>
keystoreFile="/saswork/sasadmin/tomcat/certs/eccerts"
keystorePass="xxxxxxxx"
storepass="xxxxxxxx"
truststoreFile="/saswork/sasadmin/tomcat/certs/eccerts"
sslProtocol="TLS"
</SSLHostConfig>
Run Code Online (Sandbox Code Playgroud)
建议对错误的含义和解决方案的建议表示赞赏.
mut*_*nUp 34
当你明显只有一个时,一个非常令人困惑的错误" 多个SSLHostConfig元素 ".
事实证明这是由使用弃用指令引起的.
如果在指令中放置任何这些已弃用的属性Connector,tomcat会假定您使用旧方法并自动创建SSLHostConfig自身,然后与您正在创建的自身冲突.
在您的特定情况下,你使用clientAuth="false"的Connector指令,它已成为certificateVerification="none"在SSLHostConfig指令
首先,您的语法不正确<SSLHostConfig>.它应该是:
<SSLHostConfig>
<Certificate ... />
</SSLHostConfig>
Run Code Online (Sandbox Code Playgroud)
另外,我有很多更好的运气把keystorePass里面<Connector>.
<Connector>对我来说唯一有效的方法是:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="keystore.jks" keyAlias="alias"
keystorePass="password"
clientAuth="false" sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)
否则MultipleSSLHostConfig会发生这些元素错误.
| 归档时间: |
|
| 查看次数: |
13897 次 |
| 最近记录: |