全部产品
云市场

将 SSL 证书绑定到 EDAS 应用

更新时间:2019-04-24 16:40:52

安全套接字层(SSL)加密是用于保护通过 Internet 发送的数据的最常见方法。本文档介绍如何将从受信任证书颁发机构那里购买的自定义 SSL 证书绑定到 EDAS 应用。

在 EDAS 上您可以选择 WAR 包、JAR 包和镜像三种方式来部署应用,使用者三种方式来部署的应用绑定 SSL 证书的操作各不相同,请根据您的部署方式来选择适配的操作。

购买 SSL 证书

若要为应用配置 SSL,首先需要已获取由证书颁发机构 (CA)(出于此目的颁发证书的受信任的第三方)签署的 SSL 证书。如果尚未获取 SSL 证书,将需要从销售 SSL 证书的公司购买一个 SSL 证书。

  • 阿里云 SSL 证书:若您要使用阿里云 SSL 证书,请参见 SSL 用户指南来获取。

  • 其他第三方证书颁发机构:若您要从第三方证书颁发机构获取证书,请参阅该证书颁发机构提供的文档进行获取。

绑定 SSL 到 WAR 包部署的应用

要绑定 SSL 到 WAR 包部署的应用,需将证书文件打包到 WAR 包中,使用 WAR 包部署应用,然后修改 Tomcat 设置项的 server.xml 文件的 Connector 参数来实现。

  1. 将证书文件打包到 WAR 包中,并记录下证书文件路径,例如:jks_path。

  2. 参照在 ECS 集群中部署 Java Web 应用操作流程,使用打包好的 WAR 包部署应用。

  3. 登录 EDAS 控制台,单击应用管理->应用列表,单击您部署的应用的应用名称。

  4. 在应用的基本信息页面的应用设置区域框右侧单击设置,在设置的下拉列表中选择 Tomcat

  5. 单击展开高级设置,在 server.xml 中修改 Connector 开启 SSL 配置,配置完成后单击配置 Tomcat。配置示例如下:

    1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="../app/{app_ID}/{app_name}/{jks_path}" keystoreType="PKCS12" keystorePass="jks_password">
  6. 重启应用,该配置即可生效。

绑定 SSL 到 JAR 包部署的应用

要为使用 JAR 包直接部署的应用绑定 SSL,需修改 application.properties 文件开启 SSL 配置,并将证书文件一同打包在 JAR 包中,使用 JAR 包部署应用,然后进入应用设置页面修改应用的 Tomcat 的应用端口为 8443。

  1. 修改 application.properties 文件开启 SSL 配置。配置示例如下:

    1. server.ssl.enabled=true
    2. server.ssl.key-store=classpath:{jks}
    3. server.ssl.key-store-password=jks_password
    4. server.ssl.key-store-type=PKCS12
  2. 将 证书文件放置于 resources 路径下,并与 application.properties 在同一个文件层级,然后将部署包打包成 JAR 包。

  3. 参照 在 ECS 集群中部署 Java Web 应用操作流程,使用打包好的 JAR 包部署应用。

  4. 登录 EDAS 控制台,单击应用管理->应用列表,单击您部署的应用的应用名称。

  5. 在应用的基本信息页面的应用设置区域框右侧单击设置,在设置的下拉列表中选择 Tomcat

  6. 修改应用端口为 HTTPS 的端口 8443,单击配置 Tomcat,然后重启应用该配置即可生效。

绑定 SSL 到镜像部署的应用

使用 WAR 包和 JAR 包打包 Docker 镜像均可用于部署应用,如您想给镜像部署的应用绑定 SSL,请参照以下文档内容进行相关操作。

基于 WAR 包制作镜像

要为使用 WAR 包制作的镜像来部署的应用绑定 SSL,您需在打包 Docker 镜像时修改 Tomcat 的配置参数,并将证书文件一同打包到镜像。

  1. 下载 Ali-Tomcat,保存后解压至相应的目录(如:d:\work\tomcat\)。

    注意:与制作应用镜像中直接下载 Ali-Tomcat 不同的是,您需要下载 Tomcat 并按照下面步骤修改配置。

  2. 在 Tomcat 的 server.xml 中修改 Connector 配置。配置示例如下:

    1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="../app/{app_ID}/{app_name}/{jks_path}" keystoreType="PKCS12" keystorePass="jks_password">
  3. 将修改后的 server.xml 和证书文件放置在 Dockerfile 同级目录下。并在 Dockerfile 增加以下两条设置:

    1. ADD server.xml ${CATALINA_HOME}/conf/
    2. ADD {jks} ${CATALINA_HOME}/conf/
  4. 打包镜像并进行部署。

基于 JAR 包制作镜像

要为使用 JAR 包制作的镜像来部署的应用绑定 SSL,您需修改 application.properties 文件开启 SSL 配置,并将证书文件一同打包到用于制作镜像的 JAR 包,在 Dockerfile 中修改应用端口,以开启 SSL 配置。

  1. 参照绑定 SSL 到 JAR 包部署应用,修改 JAR 包配置参数并生成 JAR 包。
  2. 在 Dockerfile 的 start.sh 中修改 server.port=8443

  3. 打包镜像并进行部署。

验证 SSL 连接

在浏览器的地址栏中,输入应用的 IP 或域名,并且在 IP 或域名前面加上前缀 https://, 查看是否能够进入应用首页,如能顺利进入则说明应用已成功绑定 SSL。

了解更多