安全套接字层(SSL)加密是用于保护通过Internet发送的数据的最常见方法。本文档介绍如何将从受信任证书颁发机构购买的SSL证书绑定到EDAS应用。
购买SSL证书
若要为应用配置SSL,首先需要已获取由证书颁发机构 (CA)(出于此目的颁发证书的受信任的第三方)签署的SSL证书。如果尚未获取SSL证书,将需要从销售SSL证书的公司购买一个SSL证书。
- 阿里云SSL证书:若您要使用阿里云SSL证书,请参见证书选型和购买来获取。
- 其他第三方证书颁发机构:若您要从第三方证书颁发机构获取证书,请参见该证书颁发机构提供的文档进行获取。
绑定SSL证书到WAR包部署的应用
要绑定SSL到WAR包部署的应用,需将证书文件打包到WAR包中,使用WAR包部署应用,然后修改Tomcat设置项的server.xml
文件的Connector
参数来实现。
- 将证书文件打包到WAR包中,并记录下证书文件路径,例如:jks_path。
- 使用打包好的WAR包在EDAS控制台部署应用,相关操作请参见在ECS集群中创建并部署应用。
- 登录EDAS控制台。
- 在左侧导航栏中单击应用列表,在顶部菜单栏选择地域并在页面上方选择命名空间,然后在应用列表页面单击具体的应用名称。
- 在应用的基本信息页面的应用设置区域,单击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">
说明 只有使用WAR包部署的应用可以在Tomcat Context的应用设置对话框中单击展开高级设置。
重启应用,该配置即可生效。
绑定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=PKCS12
- 将证书文件放置于
resources
路径下,并与application.properties
在同一个文件层级,然后将部署包打包成JAR包。
- 请参见在ECS集群中创建并部署应用,使用打包好的JAR包部署应用。
- 登录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。
- 登录EDAS控制台。
- 在左侧导航栏中单击应用列表,在顶部菜单栏选择地域并在页面上方选择命名空间,然后在应用列表页面单击具体的应用名称。
- 在应用的基本信息页面的应用设置区域,单击负载均衡(公网)右侧的添加。
- 在添加SLB与应用的绑定对话框中参照控制台页面为应用绑定一个SLB,相关步骤可参见应用独享负载均衡实例。
验证SSL连接
在浏览器的地址栏中,输入应用的IP或域名,并且在IP或域名前面加上前缀https://
, 查看是否能够进入应用首页,如能顺利进入则说明应用已成功绑定SSL。