我配置好一个tomcat,ssl证书,如何给同一台机器上的其他tomcat配置证书,默认的80,443端口已经被占用。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我配置好一个tomcat,ssl证书,如何给同一台机器上的其他tomcat配置证书,默认的80,443端口已经被占用。相关的知识,希望对你有一定的参考价值。
看清问题,我是一个已经配置好了,问的是如何给同一台机器上的第二个tomcat,配置ssl,因为ssl默认配置是80,443,已经配置用了,第二个tomcat应该怎么配ssl。
您好!
直接使用多域名或者通配符证书就可以了,这样可以实现一台服务器配置多个域名SSL。
如果tomcat环境支持配置多个独立的SSL证书参考:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" defaultSSLHostConfigName="www.aaa.com"maxThreads="150" SSLEnabled="true" >
<SSLHostConfig hostName="www.aaa.com">
<Certificate certificateKeystoreFile="cert/aaa.jks" certificateKeystorePassword="password1" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="www.bbb.com">
<Certificate certificateKeystoreFile="cert/bbb.jks" certificateKeystorePassword="password2" type="RSA" />
</SSLHostConfig>
</Connector>
</Connector><Host name="www.aaa.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="aaa" reloadable="true" debug="0" /></Host>
<Host name="www.bbb.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="bbb" reloadable="true" debug="0" /></Host> 参考技术A 楼主解决了吗?多个tomcat的话,只能是其他端口,我试过了,http使用8081,对应的https使用445,(如果这两个端口没使用的话,使用了可以换其他的),然后和第一个配置修改方式一致,只是服务启动后访问都会带有端口号而已,不像第一个都是默认端口,直接省略端口了 参考技术B 您好!SSL证书不受浏览器信任有几种情况:1、自签名SSL证书。2、不支持所有浏览器的SSL证书3、过期的SSL证书4、https页面存在不安全因素5、sha1算法,并且签发到2017年的证书。6、浏览器指定的不信任的证书。你的这种情况,应该是UC和手机自带浏览器不信任该证书,你可要用谷歌浏览器测试下。另外,看看您的手机上的时间是否与网络同步。我用的是wosign免费SSL证书,手机端和pc端均能完美显示。希望可以帮助到你。
TOMCAT SSL 错误:别名不能识别密钥条目
【中文标题】TOMCAT SSL 错误:别名不能识别密钥条目【英文标题】:TOMCAT SSL Error: Alias name does not identify a key entry 【发布时间】:2012-02-06 15:37:54 【问题描述】:我正在尝试使用 SSL 和(由某人)提供给我们的证书来配置 Tomcat 6。我的 SSL 体验只持续了几天,但我仍然需要配置该死的东西。
我获得了 DER 格式的证书(从 IE 下载)。
接下来我创建了一个密钥库:
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore假设我使用“密码”作为密码
我在 Tomcat 的 server.xml 的 SSL 部分中配置了这个:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen"
clientAuth="false" sslProtocol="TLS" />
在启动 Tomcat 时出现该死的错误。
然后我在 b2b.keystore 上做了一个 keytool -list,并注意到别名都是小写的,所以在更新 server.xml 并重新启动后,我仍然得到同样的错误,但对于小写的别名。
然后我认为也许我需要一个根 CA。所以我重新创建了 b2b.keystore 如下:
keytool -import -alias root -file myCA.cer -keystore b2b.keystore然后我针对 MyCompany.der 重新执行了我的 keytool 命令
但我仍然得到同样的错误,别名没有识别关键条目。
我想知道我在配置 tomcat 时是否犯了一些基本错误,或者这件事是否应该正常工作而我只是犯了一个愚蠢的粗心错误?
任何指导将不胜感激。
【问题讨论】:
【参考方案1】:Tomcat 需要的是证书和它的私钥。证书是您的任何用户都可以看到的公共信息,但私钥应该是您的专有密钥:这是防止其他人使用您的证书运行网站的原因。通过导入MyCompany.der
,您只是在导入证书。
你需要先找到你的私钥在哪里。 (通常情况下,即使是向您颁发证书的人也不应该知道其私钥。)
私钥可能是在证书申请过程中在您的浏览器中生成的。尝试查看是否可以以.p12
/.pfx
(PKCS#12) 格式导出:如果私钥在那里,这也应该捆绑私钥。如果是这样,您应该可以使用PKCS12
存储类型直接将生成的文件用作密钥库:keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12"
(您可能不需要密钥别名,因为只有一个密钥条目)。
【讨论】:
谢谢,遇到了同样的问题。 .pfx 证书改变了这一切:-) 删除 keyAlias 行是我的解决方案。我们的证书负责人没有像过去那样为密钥-证书对指定别名。 很多站点都在引入将.cer文件导入站点keystore的方式,那么,私钥存放在哪里呢?第一次创建 .csr 时,它不是已经在站点密钥库文件中了吗? 我必须添加 keyAlias="1" 以使 tomcat 忽略它。否则它将继续寻找名为“tomcat”的别名。 这也可能是因为证书作为可信证书 (trustedcertificate) 而不是作为对证书请求的回复导入到密钥库中。在这种情况下,tomcat 也会产生这样的错误。如果无法导入证书作为对 CSR 的回复,那么可能是由于之前未导入中间证书和根证书(keytool 无法验证证书真实性)> 导入中间证书和根证书之前然后导入正确的证书作为回复csr.以上是关于我配置好一个tomcat,ssl证书,如何给同一台机器上的其他tomcat配置证书,默认的80,443端口已经被占用。的主要内容,如果未能解决你的问题,请参考以下文章