本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
通过阿里云CDN或其他CDN回源OSS报错时,OSS会返回报错信息。OSS的报错信息中包含了敏感信息Bucket域名。如果Bucket域名被暴露,会增加您的OSS Bucket被攻击的风险。
问题原因
默认配置下,CDN在回源请求OSS内容时,请求Header中的Host值是OSS Bucket域名。OSS在收到错误的请求并返回错误信息时,会返回请求Header中的Host信息。
默认的阿里云CDN回源Host配置示例如下。
问题示例
例如,如果访问一个不存在的文件,OSS会触发404错误。在返回的错误信息中,会包含Bucket域名。无论是4xx、5xx等其他类型的错误,OSS都会在返回的错误信息中包含Bucket域名。
404错误的错误信息示例如下。
解决方案
警告
如果您还未将CDN加速域名与OSS Bucket完成绑定,就修改回源Host,OSS将无法正确处理这个未知Host的请求,从而导致回源失败并无法获取所需内容。因此,在修改回源Host之前,请确保已经成功将CDN加速域名与OSS Bucket完成绑定,并测试成功CDN可以正确地回源到OSS获取内容。具体操作,请参见绑定CDN加速域名。
将CDN的回源Host配置为加速域名,OSS的报错信息将显示加速域名而不是Bucket域名,从而隐藏Bucket域名。
具体操作,请参见配置默认回源HOST。
修改后的阿里云CDN回源Host配置示例如下。
OSS报错信息示例如下。
相关文档
配置回源Host的方法也适用于其他需要隐藏Bucket域名的场景,例如Nginx反向代理。详情请参见使用ECS实例反向代理OSS。
文档内容是否对您有帮助?