
# 在Tomcat服务器上安装私有证书
本文以Linux操作系统中的Tomcat7服务器为例介绍私有证书的安装步骤。
![](https://support.huaweicloud.com/tg-ccm/public_sys-resources/note_3.0-zh-cn.png)
由于服务器系统版本或服务器环境配置不同，在安装私有证书过程中使用的命令或修改的配置文件信息可能会略有不同，云证书与管理服务提供的安装证书示例，仅供参考，请以您的实际情况为准。
#### 前提条件
- 证书[已签发](https://support.huaweicloud.com/tg-ccm/ccm_01_0025.html)。
- 已下载Tomcat格式的私有证书，具体操作请参见[下载证书](https://support.huaweicloud.com/tg-ccm/ccm_01_0047.html)。
- 申请证书时选择的"证书请求文件"生成方式为"系统生成文件"。
 
#### 约束条件
- 证书安装前，务必在安装私有证书的服务器上开启"443"端口，同时在安全组增加"443"端口，避免安装后仍然无法启用HTTPS。
- 为了使客户端信任服务器证书，需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中，详细操作请参见[信任根CA](https://support.huaweicloud.com/tg-ccm/ccm_01_0348.html)。
- 如果一个域名有多个服务器，则每一个服务器上都要部署。
- 待安装证书的服务器上需要运行的域名，必须与证书的域名一一对应，即申请的是哪个域名的证书，则用于哪个域名。否则安装部署后，浏览器将提示不安全。
 
#### 操作步骤
在Tomcat7服务器上安装私有证书的流程如下所示：
[①获取文件] → [②创建目录并上传文件] → [③修改配置文件] → [④重启Tomcat] → [⑤效果验证]
 #### 步骤一：获取文件
在本地解压已下载的Tomcat格式证书文件并获得证书文件"server.jks"和密码文件"keystorePass.txt"。
 #### 步骤二：创建目录并上传文件
在Tomcat的安装目录下创建"cert"目录，并且将证书文件"server.jks"和密码文件"keystorePass.txt"复制到"cert"目录中。
 #### 步骤三：修改配置文件
![](https://support.huaweicloud.com/tg-ccm/public_sys-resources/notice_3.0-zh-cn.png)
修改配置文件前，请将配置文件进行备份，并建议先在测试环境中进行部署，配置无误后，再在现网环境进行配置，避免出现配置错误导致服务不能正常启动等问题，影响您的业务。
在Tomcat7安装证书的具体操作如下：
1. 在Tomcat安装目录conf目录下"server.xml"文件中找到如下参数：
   ```
   <!--
       <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
                  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                  clientAuth="false" sslProtocol="TLS" />
       -->
   ```
   
2. 找到以上参数，去掉\<!- - 和 - -\>这对注释符。
3. 增加以下2个参数，请根据[表1]修改参数的值。
   ```
   keystoreFile="cert/server.jks"
   keystorePass="证书密码"
   ```
   完整配置参考如下，其余参数请根据实际情况进行修改：
   ```
   <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
                  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
         keystoreFile="cert/server.jks"
         keystorePass="证书密码"
         clientAuth="false" sslProtocol="TLS" />
   ```
   ![](https://support.huaweicloud.com/tg-ccm/public_sys-resources/notice_3.0-zh-cn.png)
   不要直接复制所有配置，只需添加"keystoreFile"，"keystorePass"参数即可，其它参数请根据自己的实际情况修改。
    表1参数说明（一） 
   | 参数           | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | port         | 指定服务器要使用的端口号，建议配置为"443"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | protocol     | 设置HTTP协议，保持缺省值即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | keystoreFile | "server.jks"文件存放路径，绝对路径和相对路径均可。示例：cert/server.jks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | keystorePass | "server.jks"的密码。填写"keystorePass.txt"文件内的密码。 如果密码中包含**"\&"** ，请将其替换成**"\&amp;"**，以免配置不成功。示例： 如果keystorePass="Ix6**\&** APWgcHf72DMu"，则修改为keystorePass="Ix6**\&amp;**APWgcHf72DMu"。 |
   | clientAuth   | 是否要求所有的SSL客户出示安全证书，对SSL客户进行身份验证，保持缺省值即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
4. 在Tomcat安装目录conf目录下"server.xml"文件中找到如下参数：
   ```
   <Host name="localhost"  appBase="webapps"
         unpackWARs="true" autoDeploy="true">
   ```
   
5. 将"Host name"改为证书绑定的域名。 完整配置如下（以"www.domain.com"为例）：
   ```
   <Host name="www.domain.com"  appBase="webapps"
         unpackWARs="true" autoDeploy="true">
   ```
   
6. 修改完成后保存配置文件。
 
 #### 步骤四：重启Tomcat
在Tomcat bin目录下执行**./shutdown.sh**命令停止Tomcat服务；
等待10秒后，再执行**./startup.sh**命令（如进程被守护进程自动拉起，则无需手动启动），启动Tomcat服务。
 #### 效果验证
部署成功后，可在浏览器的地址栏中输入"https://域名"，按"Enter"。
如果浏览器地址栏显示安全锁标识，则说明证书安装成功。
- 如果网站仍然出现不安全提示，请参见[为什么部署了SSL证书后，网站仍然出现不安全提示？](https://support.huaweicloud.com/ccm_faq/ccm_01_0098.html)。
- 如果通过域名访问网站时，无法打开网站，请参见[为什么部署了SSL证书后，通过域名访问网站时，无法打开网站？](https://support.huaweicloud.com/ccm_faq/ccm_01_0099.html)进行处理。
- 如果仍未解决或出现其他问题，华为云商店提供SSL证书配置优化服务，专业工程师一对一服务，请直接单击[一对一咨询](https://marketplace.huaweicloud.com/contents/917d16b0-33c4-49d3-bfe9-dd9219ea084e#productid=00301-120142-0--0)进行购买，购买服务后，联系工程师进行处理。
 
