访问OSS资源时,HTTP协议以明文方式传输数据,存在被窃取、篡改等安全风险,无法满足数据保护和合规要求。通过配置SSL证书启用HTTPS协议访问OSS,可实现数据加密传输,有效防范网络攻击,显著提升业务安全等级。
工作原理
OSS默认域名(如 example.oss-cn-hangzhou.aliyuncs.com
)默认支持HTTPS协议访问,无需任何配置即可直接使用。
如果希望通过自定义域名实现HTTPS方式访问OSS,必须为该域名配置SSL证书,证书的配置位置取决于是否使用了CDN加速服务。
未开启CDN加速:在OSS控制台为绑定的自定义域名配置证书托管。
开启CDN加速:在CDN控制台为CDN加速域名配置HTTPS证书。
获取证书
为CDN加速域名或OSS自定义域名配置SSL证书前,请确保至少持有一个有效的SSL证书。可以通过以下途径获取证书:
OSS自定义域名实现HTTPS访问
配置证书托管
验证HTTPS访问
证书托管配置完成后,需要一段时间才能生效。配置生效后,可通过浏览器使用HTTPS协议访问资源以验证配置是否生效。
强制通过HTTPS进行访问
如需强制客户端通过HTTPS方式进行访问,请前往Bucket列表页面,单击目标Bucket,然后在左侧单击 ,选择按语法策略添加方式添加以下Bucket Policy。
添加策略时,请替换示例配置内的 bucketname。
{
"Version": "1",
"Statement": [{
"Effect": "Deny",
"Action": [
"oss:*"
],
"Principal": [
"*"
],
"Resource": [
"acs:oss:*:*:bucketname",
"acs:oss:*:*:bucketname/*"
],
"Condition": {
"Bool": {
"acs:SecureTransport": [
"false"
]
}
}
}]
}
配置Bucket Policy后,所有HTTP协议请求将被拒绝访问。
删除HTTPS证书
如果不再需要HTTPS加密访问,可以参照以下步骤删除HTTPS证书。
前往Bucket列表页面,单击目标Bucket,然后在Bucket左侧菜单栏单击 。
单击目标域名证书详情旁的删除图标,然后单击确定。
CDN加速域名实现HTTPS访问
配置HTTPS访问
验证HTTPS访问
CDN加速域名的HTTPS配置下发大约需要1分钟,待配置生效后,可在浏览器通过HTTPS访问OSS资源(如 https://example.cn/dest.jpg
,其中 example.cn
为CDN加速域名)验证配置是否生效。
强制通过HTTPS进行访问
配置并完成HTTPS验证后,可以通过配置强制跳转或开启HSTS强制客户端通过HTTPS进行访问。
配置强制跳转
前往CDN控制台页面,单击目标加速域名,然后单击HTTPS配置,在强制跳转旁边单击修改配置,并按下图所示配置强制跳转。配置完成后,CDN将通过301重定向方式,将客户端到CDN节点的HTTP请求强制跳转为HTTPS请求。
开启HSTS
前往CDN控制台页面,单击目标加速域名,然后单击HTTPS配置,在HSTS旁边单击修改配置,并按下图所示开启HSTS。配置完成后,客户端发起HTTP请求时将被强制转换为HTTPS请求。
关闭HTTPS安全加速
如果不再需要HTTPS加密访问,可以参照以下步骤停用此功能。
为避免访问中断,在关闭HTTPS前,必须先将强制跳转类型恢复为默认,并且关闭HSTS功能。
前往CDN控制台页面,单击目标加速域名,然后单击HTTPS配置,在HTTPS证书旁边单击修改配置。
按下图所示关闭HTTPS安全加速,然后单击确定。
计费说明
在CDN中开启HTTPS功能后,将根据产生的静态HTTPS请求数单独计费,详情请参见静态HTTPS请求数费用说明。