安全套接字层(SSL)加密是用于保护通过Internet发送的数据的最常见方法。本文介绍如何将从受信任证书颁发机构购买的SSL证书绑定到EDAS应用。
购买SSL证书
若要为应用配置SSL,首先需要已获取由证书颁发机构 (CA)(出于此目的颁发证书的受信任的第三方)签署的SSL证书。如果尚未获取SSL证书,将需要从销售SSL证书的公司购买一个SSL证书。
- 阿里云SSL证书:若您需要使用阿里云SSL证书,请参见证书选型和购买获取。
- 其他第三方证书颁发机构:若您需要从第三方证书颁发机构获取证书,请参见该证书颁发机构提供的文档获取。
绑定SSL证书到WAR包部署的应用
如需为使用WAR包直接部署的应用绑定SSL,需要首先将证书文件打包到WAR包中,然后使用WAR包部署应用,最后修改Tomcat设置项的server.xml文件的Connector
参数。
- 将证书文件打包到WAR包中,并记录下证书文件路径,例如:jks_path。
- 登录EDAS控制台,使用打包好的WAR包部署应用。相关操作,请参见在ECS集群中创建并部署应用。
- 在左侧导航栏,单击,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
- 在应用的基本信息页面的应用设置区域,单击Tomcat Context右侧的编辑。
- 在应用设置对话框,单击展开高级设置。
- 在server.xml中,修改Connector参数为以下配置,修改完成后单击配置Tomcat。
<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" clientAuth="false" SSLProtocol="TLS" connectionTimeout="15000" maxParameterCount="1000" maxThreads="400" maxHttpHeaderSize="16384" maxPostSize="209715200" acceptCount="200" useBodyEncodingForURI="true" URIEncoding="ISO-8859-1">
重启应用,该配置即可生效。
绑定SSL到JAR包部署的应用
如需为使用JAR包直接部署的应用绑定SSL,首先需要修改application.properties文件开启SSL配置,然后将证书文件一同打包在JAR包中,使用JAR包部署应用,最后进入应用设置页面修改应用的Tomcat的应用端口为8443。
- 修改
application.properties
文件开启SSL配置。配置示例如下:server.ssl.enabled=true
server.ssl.key-store=classpath:{jks}
server.ssl.key-store-password=jks_password
server.ssl.key-store-type=JKS
- 将证书文件放置于resources路径下,并与application.properties在同一个文件层级,然后将部署包打包成JAR包。
- 使用打包好的JAR包部署应用。具体操作,请参见在ECS集群中创建并部署应用。
- 登录EDAS控制台。
- 在左侧导航栏,单击,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
- 在应用的基本信息页面的应用设置区域,单击Tomcat Context右侧的编辑。
- 在应用设置对话框修改应用端口为8443,单击配置Tomcat。
重启应用,该配置即可生效。
绑定SSL到镜像部署的应用
使用WAR包和JAR包打包Docker镜像均可用于部署应用,如需为镜像部署的应用绑定SSL,请执行以下操作。
基于WAR包制作镜像
如需为使用WAR包制作的镜像来部署的应用绑定SSL,您需在打包Docker镜像时修改Tomcat的配置参数,并将证书文件一同打包到镜像。
- 下载Ali-Tomcat,保存后解压至相应的目录(例如d:\work\tomcat\)。
- 在Tomcat的server.xml中修改Connector配置。配置示例如下:
<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">
- 将修改后的server.xml和证书文件放置在Dockerfile同级目录下,并在Dockerfile增加以下两条设置。
ADD server.xml ${CATALINA_HOME}/conf/ADD {jks} ${CATALINA_HOME}/conf/
- 打包镜像并进行部署。
基于JAR包制作镜像
如需为使用JAR包制作的镜像来部署的应用绑定SSL,您需首先修改application.properties文件开启SSL配置,并将证书文件一同打包到用于制作镜像的JAR包,然后在Dockerfile中修改应用端口,以开启SSL配置。
- 修改JAR包配置参数并生成JAR包,相关操作请参见绑定SSL到JAR包部署的应用。
- 在Dockerfile的start.sh中修改
server.port=8443
。
- 打包镜像并进行部署。
为EDAS应用绑定SLB
为部署在ECS集群中的应用绑定一个公网SLB,并配置监听协议为HTTPS。
重要 您需在SLB控制台提前创建好SLB实例,相关操作请参见
创建实例。
- 登录EDAS控制台。
- 在左侧导航栏,单击,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
- 在应用的基本信息页面的应用设置区域,单击负载均衡(公网)右侧的添加。
- 在添加负载均衡(公)对话框为应用绑定一个SLB。相关步骤,请参见应用独享负载均衡实例。
验证SSL连接
在浏览器的地址栏中,输入应用的IP或域名,并且在IP或域名前加上前缀https://
, 查看是否能够进入应用首页,如能顺利进入则说明应用已成功绑定SSL。