在tomcat服务器上安装ssl证书-凯发k8国际娱乐官网入口
本文以linux操作系统中的tomcat7服务器为例介绍ssl证书的安装步骤,您在安装国际标准证书时可以进行参考。证书安装好后,您的web服务器才能支持ssl通信,实现通信安全。
由于服务器系统版本或服务器环境配置不同,在安装ssl证书过程中使用的命令或修改的配置文件信息可能会略有不同,云证书管理服务提供的安装证书示例,仅供参考,请以您的实际情况为准。
若参考文档安装证书后,https仍然不生效或遇到其他问题,请单击购买ssl证书配置优化服务,联系专业工程师为您排查具体问题。
前提条件
- 证书已签发且“证书状态”为“已签发”。
- 已下载ssl证书,具体操作请参见下载证书。
- 已安装openssl工具。
您可以从“https://www.openssl.org/source/”下载最新的openssl工具安装包(要求openssl版本必须是1.0.1g或以上版本)。
- 已安装keytool工具。
keytool工具一般包含在java development kit(jdk)工具包中。
- 待安装证书为国际标准证书。
约束条件
- 证书安装前,务必在安装ssl证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用https。
- 如果一个域名有多个服务器,则每一个服务器上都要部署。
- 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即购买的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
步骤一:获取文件
安装证书前,需要获取证书文件和密码文件,请根据申请证书时选择的“证书请求文件”生成方式来选择操作步骤:
具体操作如下:
- 系统生成csr
- 在本地解压已下载的证书文件。
- 从“证书id_证书绑定的域名_tomcat”文件夹内获得证书文件“证书id_证书绑定的域名_server.jks”和密码文件“证书id_证书绑定的域名_keystorepass.txt”。
- 自己生成csr
- 解压已下载的证书压缩包,获得“证书id_证书绑定的域名_server.pem”文件。
“证书id_证书绑定的域名_server.pem”文件包括两段证书代码“-----begin certificate-----”和“-----end certificate-----”,分别为服务器证书和中级ca证书。
- 使用openssl工具,将pem格式证书转换为pfx格式证书,得到“server.pfx”文件。
- “pem”文件和生成csr时的私钥“server.key”放在openssl工具安装目录的bin目录下。
- 在openssl工具安装目录的bin目录下,执行以下命令将pem格式证书转换为pfx格式证书,按“enter”。
openssl pkcs12 -export -out server.pfx -inkey server.key -in 证书id_证书绑定的域名_server.pem
回显信息如下:
enter export password:
- 输入pfx证书密码,按“enter”。
此处输入的密码为用户自定义密码,请根据自己的需求进行设置并输入密码。
回显信息如下:
verifying - enter export password:
请牢记此处输入的pfx证书密码。后续设置jks密码需要与此处设置的pfx密码保持一致,否则可能会导致tomcat启动失败。
为提高用户密码安全性,建议按以下复杂度要求设置密码:
- 密码长度为8~32个字符。
- 至少需要包含大写字母、小写字母、数字、空格、特殊字符~`!@#$%^&*()_ |{}:"<>?-=\[];',./中的3种类型字符。
- 再次输入pfx证书密码,按“enter”。
当系统没有回显任何错误信息,表示已在openssl工具安装目录下成功生成“server.pfx”文件。
- 使用keytool工具,将pfx格式证书文件转换成jks格式,得到“server.jks”文件。
- 将2中生成的“server.pfx”文件复制到“%java_home%/jdk/bin”目录下。
- 在“%java_home%/jdk/bin”目录下,执行以下命令,按“enter”。
keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype pkcs12 -deststoretype jks
回显信息如下:
输入目标密钥库口令:
- 输入jks证书密码,按“enter”。
请将jks密码设置为与pfx证书密码相同的密码,否则可能会导致tomcat启动失败。
回显信息如下:
再次输入新口令:
- 再次输入jks证书密码,按“enter”。
回显信息如下:
输入源密钥库口令:
- 输入2.c中设置pfx证书密码,按“enter”。
回显类似如下信息时,则表示转换成功,已在openssl工具安装目录下成功生成“server.jks”文件。
已成功导入别名1的条目。 已完成导入命令:1个条目成功导入,0个条目失败或取消
- 在“%java_home%/jdk/bin”目录下新建一个“keystorepass.txt”文件,将jks的密码保存在该文件中。
- 将转换后的证书文件“server.jks”和新建的密码文件“keystorepass.txt”放在同一目录下。
- 解压已下载的证书压缩包,获得“证书id_证书绑定的域名_server.pem”文件。
步骤二:创建目录
在tomcat的安装目录下创建“cert”目录,并且将证书文件“server.jks”和密码文件“keystorepass.txt”复制到“cert”目录中。
步骤三:修改配置文件
修改配置文件前,请将配置文件进行备份,并建议先在测试环境中进行部署,配置无误后,再在现网环境进行配置,避免出现配置错误导致服务不能正常启动等问题,影响您的业务。
- 在tomcat安装目录conf目录下“server.xml”文件中找到如下参数:
- 找到以上参数,去掉这对注释符。
- 增加以下2个参数,请根据表1修改参数的值。
keystorefile="cert/server.jks" keystorepass="证书密码"
完整配置参考如下,其余参数请根据实际情况进行修改:
keystorefile="cert/server.jks" keystorepass="证书密码" clientauth="false" sslprotocol="tls" /> 不要直接复制所有配置,只需添加“keystorefile”,“keystorepass”参数即可,其它参数请根据自己的实际情况修改。
表1 参数说明(一) 参数
参数说明
port
指定服务器要使用的端口号,建议配置为“443”。
protocol
设置http协议,保持缺省值即可。
keystorefile
“server.jks”文件存放路径,绝对路径和相对路径均可。示例:cert/server.jks
keystorepass
“server.jks”的密码。填写“keystorepass.txt”文件内的密码。
须知:如果密码中包含“&”,请将其替换成“&”,以免配置不成功。
示例:
如果keystorepass="ix6&apwgchf72dmu",则修改为keystorepass="ix6&apwgchf72dmu"。
clientauth
是否要求所有的ssl客户出示安全证书,对ssl客户进行身份验证,保持缺省值即可。
- 在tomcat安装目录conf目录下“server.xml”文件中找到如下参数:
- 将“host name”改为证书绑定的域名。
完整配置如下(以“www.domain.com”为例):
www.domain.com" appbase="webapps" unpackwars="true" autodeploy="true"> - 修改完成后保存配置文件。
步骤四:重启tomcat
在tomcat bin目录下执行./shutdown.sh命令停止tomcat服务;
等待10秒后,再执行./startup.sh命令(若进程被守护进程自动拉起,则无需手动启动),启动tomcat服务。
效果验证
部署成功后,可在浏览器的地址栏中输入“https://域名”,按“enter”。
如果浏览器地址栏显示安全锁标识,则说明证书安装成功。
- 如果网站仍然出现不安全提示,请参见为什么部署了ssl证书后,网站仍然出现不安全提示?。
- 如果通过域名访问网站时,无法打开网站,请参见为什么部署了ssl证书后,通过域名访问网站时,无法打开网站?进行处理。
- 如果仍未解决或出现其他问题,华为云市场提供ssl证书配置优化服务,专业工程师一对一服务,请直接单击进行购买,购买服务后,联系工程师进行处理。
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨