ALB扩展版支持将请求转发至DNS域名类型的后端服务。用户可以使用OSS存储静态资源,由ALB扩展版统一调度请求,通过VPC内网转发至OSS,实现前后端分离架构的同时,降低公网流量成本并提升访问稳定性。
方案架构
扩展版ALB实例接收客户端请求,将请求通过VPC内网转发至DNS域名服务器组中配置的OSS Bucket访问域名,并将Bucket的响应返回给客户端。需要处理其他请求时,按需添加后端服务并配置转发规则即可。
扩展版ALB实例:提供负载均衡和流量转发能力。
HTTPS监听:接收客户端请求。
DNS域名类型服务器组:配置OSS Bucket的访问域名作为后端服务。
OSS Bucket:存储网站静态资源。
适用范围
用户已获取ALB扩展版公测资格。
用户已在华北6(乌兰察布)地域创建一个专有网络VPC,分别在可用区A和可用区B创建一个交换机。
用户已准备好与自定义域名匹配的服务器证书。非阿里云购买的证书需要上传到阿里云证书服务。
操作步骤
1.创建OSS Bucket并配置静态网站托管
创建OSS Bucket,配置公共读权限,上传静态页面文件,并启用静态网站托管功能。
创建OSS Bucket
登录OSS管理控制台,在左侧导航栏单击Bucket列表,然后单击创建 Bucket。
在创建 Bucket面板,完成以下配置,其他配置项保留默认值,单击完成创建并确认。
Bucket 名称:设置Bucket名称,需全局唯一。
地域:选择华北6(乌兰察布)。
配置Bucket权限
在Bucket列表中,单击目标Bucket 名称进入Bucket详情页。
在左侧导航栏,单击权限控制 > 阻止公共访问,关闭阻止公共访问开关,并在弹出的对话框中进行确认。
切换到读写权限页签,单击设置按钮,将Bucket ACL修改为公共读,确认后单击保存。
上传静态页面文件
在左侧导航栏,单击文件管理 > 文件列表,然后单击上传文件。
上传以下示例的静态网页
index.html,文件 ACL选择继承Bucket。
<html>
<head>
<title>Hello OSS!</title>
<meta charset="utf-8">
</head>
<body>
<p>Start Alibaba Cloud OSS Hosting</p>
<p>This is the index page</p>
</body>
</html>继续上传
404.html文件,文件 ACL选择继承Bucket。
<html>
<head>
<title>Page Not Found</title>
<meta charset="utf-8">
</head>
<body>
<p>The page you are looking for does not exist</p>
<p>You can try visiting the homepage</p>
</body>
</html>配置静态网站托管
在左侧导航栏,单击数据管理>静态页面,然后单击设置。配置完成后保存退出。
默认首页:输入
index.html。子目录首页:默认不开通。
默认 404 页:输入
404.html。错误文档响应码:默认404。
2.为OSS Bucket绑定域名
通过Bucket的默认域名(无论内网或外网域名)访问HTML文件时,OSS会通过添加响应头字段强制浏览器下载文件而非在线预览,需要为Bucket绑定自定义域名来绕过此安全限制。
在左侧导航栏,单击Bucket 配置 > 域名管理,然后单击绑定域名。
在绑定域名对话框输入想要绑定到OSS Bucket的域名,根据提示信息完成绑定并确认绑定的域名已生效。
绑定完成后,记录绑定的域名(如static.example.com),后续步骤中将使用该域名配置ALB后端服务。
3.创建扩展版ALB实例
登录ALB控制台,单击创建应用型负载均衡。
在购买页完成以下配置,单击立即购买。
地域:选择华北6(乌兰察布)。
实例网络类型:选择公网。
VPC和可用区:选择目标VPC,勾选乌兰察布 可用区A和乌兰察布 可用区B后选择对应交换机,并自动分配公网IP。
协议版本:选择IPv4。
功能版本(实例费):选择扩展版。
在确认订单页面确认实例配置详情,单击立即开通。
4.配置PrivateZone解析
配置PrivateZone,将步骤二中绑定到OSS Bucket的自定义域名指向Bucket的内网域名,使ALB通过VPC内网访问Bucket,降低公网流量成本并提升访问稳定性。
添加PrivateZone域名
登录内网域名解析控制台,单击添加域名 (Zone)。
在添加对话框,完成以下配置,单击确定并确认。
内网权威域名 (Zone):输入OSS Bucket绑定的域名,如
static.example.com。生效于阿里云VPC内网:选择ALB实例所在VPC。
添加CNAME解析记录
在域名列表中,单击目标域名操作列的解析设置进入解析记录页面,单击添加记录。
在添加记录对话框,完成以下配置,单击确定。
记录类型:选择CNAME。
主机记录:输入
@,即解析到主域名static.example.com。记录值:输入OSS Bucket的内网域名。可在OSS Bucket的概览页查看ECS 的 VPC 网络访问(内网)在Bucket 域名列的对应值,格式如
bucket-name.oss-cn-wulanchabu-internal.aliyuncs.com。解析请求来源和TTL时间:保持默认。
在弹出的解析变更确认对话框确认解析信息,单击确定。
解析生效后,在ALB所在VPC内访问static.example.com时,会被最终解析至OSS Bucket的内网IP,通过VPC内网进行访问。
5.创建DNS域名类型服务器组
创建DNS域名类型的服务器组,将OSS Bucket的访问域名添加为后端服务。
在服务器组控制台,确认地域为华北6(乌兰察布),单击创建服务器组。
参考以下信息完成服务器组配置,单击创建。
服务器组类型:选择DNS域名。
服务器组名称:本文输入
sgp-dns-oss。选择后端协议:默认选择
HTTP。DNS服务器配置:单击一键填充内网DNS解析地址,系统将自动填写阿里云内网DNS。
在服务器组创建成功对话框单击添加后端服务器。在添加DNS域名对话框完成以下配置,单击确定。
DNS域名:输入OSS Bucket绑定的域名,如
static.example.com。端口:输入
80。
6.创建监听
在ALB控制台,单击目标实例ID进入实例详情页。在监听页签单击创建监听。
在配置监听步骤,选择监听协议为HTTPS,监听端口填写
443,完成后单击下一步。在配置SSL证书步骤,选择与自定义域名匹配的服务器证书,单击下一步。
在选择服务器组步骤,依次选择DNS域名类型和服务器组
sgp-dns-oss,完成后单击下一步。在配置审核步骤,确认配置并单击提交。
7.设置域名解析
将自有域名通过CNAME解析指向ALB实例的DNS名称,客户端通过自有域名访问ALB。
本文以阿里云云解析DNS为例,对于非阿里云注册域名,需先将域名添加到云解析控制台。
8.验证测试
test.example.com为示例域名,实际测试时请替换为步骤七中配置的真实域名,需确保域名解析已生效。
访问首页
在浏览器中访问https://test.example.com,返回OSS中配置的默认首页index.html。

直接访问index.html
在浏览器中访问https://test.example.com/index.html,同样返回index.html。

测试404错误页面
在浏览器中访问不存在的资源,如https://test.example.com/donotexist,返回OSS中配置的404错误页面404.html。

更多信息
计费说明
ALB扩展版支持的地域
区域 | 地域 | 可用区 |
中国 | 华北6(乌兰察布) | 可用区A、可用区B、可用区C |
华东1(杭州) | 可用区J、可用区K | |
亚太 | 新加坡 | 可用区A、可用区B、可用区C |
欧洲与美洲 | 德国(法兰克福) | 可用区A、可用区B |
使用建议
Bucket类型选择:根据访问频率选择合适的存储类型,平衡性能和成本;对重要的静态资源启用同城冗余存储,获取更高的可用性保障。
CDN加速:在ALB前配置CDN,将静态资源缓存至边缘节点,提升访问速度和用户体验。
常见问题
访问未到达OSS,报错upstream connect error or disconnect/reset before headers. reset reason: connection timeout
确认已正确配置PrivateZone解析,且PrivateZone已正确关联ALB所在VPC。
确认服务器组中配置的域名为OSS Bucket绑定的域名。
访问到达OSS,但未展示首页内容
确认Bucket已开启公共访问,且ACL权限为公共读。
确认Bucket已开启静态网站托管功能,已上传
index.html文件并设置为默认首页。