You need to enable JavaScript to run this app.
导航
个性化配置
最近更新时间:2024.10.11 14:15:55首次发布时间:2022.07.07 14:45:59
我的收藏
有用
有用
无用
无用

ALB 提供监听维度的个性化配置功能。通过控制台可以创建并管理常规的 NGINX 配置策略,在监听器详情页一键关联配置策略,无需提交工单即可完成满足业务需求的个性化配置。

创建个性化配置策略

操作步骤

  1. 登录应用型负载均衡控制台,在左侧导航栏点击 个性化配置
  2. 个性化配置 页面,点击 创建个性化配置策略
  3. 创建个性化配置策略 标签页,参考字段解释,根据实际需要配置策略。
  4. 确认配置信息无误后,点击 确定 ,完成个性化配置策略。

字段解释

字段

是否必选

说明

名称

为创建的个性化配置策略命名,便于后续管理。具体规则如下:

  • 不能以http://https://开头。
  • 必须以字母或中文开头。
  • 只能包含中文、 字母、 数字、 点.、 下划线_和中划线-
  • 长度限制在 1~128 个字符之间。

描述

描述创建的个性化配置策略,具体规则如下:

  • 不能以http://https://开头。
  • 必须以字母或中文开头。
  • 只能包含中文、 字母、 数字、 英文逗号,、 点号.、 下划线_、 空格、 等号=、 短横线-、 中文逗号、 中文句号
  • 不填默认为空字符串。
  • 长度限制在 255 个字符以内。

TLS协议

版本(ssl_protocols)

勾选 TLS 协议后,默认选择 TLSv1、TLSv1.1、TLSv1.2 。ALB支持白名单用户开启 TLSv1.3,如需体验,请提交工单。具体规则如下:

  • 支持单选和多选,多选时协议版本必须连选。
  • 不支持配置重复的协议。
  • 开启TLSv1.3后,ALB会在您已选择的加密套件基础上默认添加 TLSv1.3 的三个套件,暂不支持您修改TLSv1.3 的套件。

加密套件(ssl_ciphers)

每种协议版本对应支持套件不同,不填写将使用默认加密套件,具体详见协议与加密套件

长连接保持时间(keepalive_timeout)

客户端与 ALB 之间的长连接保持时间,默认75s,输入范围0-900s。

建连超时时间(proxy_connect_timeout)

ALB 和后端服务器的建连超时时间,建议大于健康检查超时时间。默认4s,输入范围4-120s。

客户端请求body最大值(client_max_body_size)

可以接收客户端请求正文的最大值,默认60M,输入范围 1-30720M。

请求体缓存

默认开启。

  • 开启表示缓存客户端请求体:ALB 会缓存请求,全部接收完成后再分块转发给后端服务器。
  • 关闭表示不缓存客户端请求体:ALB 收到请求后,立即转发给后端服务器,此时会导致后端服务器有一定性能压力。

自定义响应头部(add_header)

将指定的字段添加到响应报头中。最多只能配置10个自定义响应头部。具体规则如下:

  • 自定义头部名称
    • _-、字母、数字组成的字符串。
    • 长度限制在 1~128 个字符之间。
  • 自定义头部值
    • 由字母、数字、_-*,/\:@=.、英文括号、英文空格、英文单双引号组成的字符串。
    • 带有数字、字母外的特殊字符,需要用引号括起来,如 "POST, OPTIONS"
    • 长度限制在 1~128 个字符之间。
  • Always
    • Always 是一个可选配置。
    • 不开Always:只有响应码为200, 201, 204, 206, 301, 302, 303, 304, 307, 308 时,您新增的自定义响应头才会被添加到响应报头。(简称为2xx、3xx支持)
    • 开启always:对于所有响应码,您新增的自定义响应头都会添加到响应报头(2xx、3xx、4xx、5xx都支持)

注意

如果您的业务涉及跨域场景,请结合业务进行如下配置:

  • 允许跨域请求使用不同的方法
    • 自定义头部名称:Access-Control-Allow-Methods
    • 自定义头部值:"POST, OPTIONS"
    • 如果希望在响应码为4xx、5xx时也能获取跨域的响应头,请开启always 。
  • 哪些域名的请求被允许接入ALB
    • 自定义头部名称:Access-Control-Allow-Origin
    • 自定义头部值:具体域名,填“*”时表示任意来源的请求都被允许接入ALB。
    • 如果希望在响应码为4xx、5xx时也能获取跨域的响应头,请开启always 。

自定义请求头部(more_set_input_headers)

注意

仅白名单用户可以配置自定义请求头部,如需体验,请联系客户经理。

将指定的字段添加到请求报头中。具体规则如下:

  • header key
    • 由(_)、(-)、字母、数字组成的字符串。
    • 长度不超过128字符。
    • 不支持以(-)开头。
    • 不允许重复。
    • 无论大写还是小写,header key不支持: x-real-ip,x-forwarded-for,x-forwarded-proto,x-alb-waf-requestid,x-alb-waf-real-port,upgrade,connection,x-vport,x-vip,x-real-ip,x-clb-cluster,x-toutiao-lb-ip,x-vni,content-length,transfer-encoding,keep-alive,host,cookie,authority。
  • value
    • 只能是变量或者其他字符串。
    • 由字母、数字、(_)、(-)、(*)、(,)(/)、(@)、(=)、(.)、英文括号、空格、单引号组成的字符串。不能有(;)。
    • 引号只能出现在开始字符和末尾字符。
    • 首尾不能出现空格。
    • 长度不超过128字符。
    • 当 value 是变量,支持 $remote_addr,$proxy_add_x_forwarded_for,$remote_port,$scheme, $vport,$load_balancer_id
  • 最多只能配置10个自定义header。

读取后端响应的超时时间(proxy_read_timeout)

  • 定义 ALB 从后端服务器读取响应的超时时间。
  • 此超时时间仅针对两个连续的读操作之间设置,而不是整个响应的传输过程。
  • 如果后端服务器在该时间内未传输任何内容,则关闭连接。
  • 输入范围:30-3600s,默认取值:60s。

转发请求至后端的超时时间(proxy_send_timeout)

  • 定义 ALB 将请求传输到后端服务器的超时时间。
  • 此超时时间仅针对两个连续的写操作之间设置,而不是整个请求的传输过程。
  • 如果后端服务器在该时间内未收到任何内容,则关闭连接。
  • 输入范围:30-3600s,默认取值:60s。

读取客户端请求头的超时时间(client_header_timeout)

  • 定义读取客户端请求头的超时时间。
  • 如果客户端在这段时间内没有传输整个报头,则将返回 408错误码给客户端,表示请求超时。
  • 输入范围:30-120s,默认取值:60s。

读取客户端请求正文的超时时间(client_body_timeout)

  • 定义读取客户端请求正文的超时时间。
  • 此超时时间仅针对两个连续读操作之间的时间间隔设置,而不是整个请求的传输过程。
  • 如果客户端在这段时间内没有发送任何内容,则将返回 408错误码给客户端,表示请求超时。
  • 输入范围:30-120s,默认取值:60s。

向客户端发送响应的超时时间(send_timeout)

  • 定义向客户端发送响应的超时时间。
  • 此超时时间仅针对两个连续的写入操作之间设置,而不是整个响应的传输过程。
  • 如果客户端在此时间内没有收到任何内容,则连接将被关闭。
  • 输入范围:1-3600s,默认取值:60s。

客户端证书验证深度(ssl_verify_depth)

  • 定义客户端证书链的验证深度。
  • 输入范围:3-10,默认取值:3。

ssl session 过期时间
(ssl_session_timeout)

  • 自定义客户端保存 Session Ticket 的时间,过期后客户端将删除该 Ticket。
  • 输入范围:1-60分。默认取值:10分。

后端响应缓存区大小
(proxy_buffer_size)

  • 设置接收后端响应的缓存区大小。
  • 输入范围:4-32k。默认取值:4k。

客户端请求大标头缓存区
(large_client_header_buffers)

  • 设置用于读取大型客户端请求标头的缓存区的最大数量和大小。
  • 请求行不能超过一个缓存区的大小,否则会向客户端返回 414 错误。
  • 请求头字段不能超过一个缓存区的大小,否则会向客户端返回 400 错误。
  • 最大数量输入范围:4-8。默认取值:4。
  • 大小输入范围:8-16k。默认取值:8k。

响应检测

您配置的响应信息是否需要检测,默认关闭。

后端响应头透传

强制透传您选择的后端响应头,该响应头不被 ALB 相同响应头覆盖。

忽略客户端异常

当客户端不等待响应结果而主动中断与 ALB 的连接时, ALB 与后端服务器的连接是否中断。默认关闭,即不忽略客户端异常,ALB 与后端服务器保持连接。

项目

  • 项目是火山引擎用来管理云资源的单元,通过项目您可以实现对云资源的集中管理。
  • 在 ALB 中,默认为空,表示该个性化配置不属于任何项目。
  • 您可以在此选择个性化配置所在的项目。如果您没有创建过项目,可以选择 default 项目。更多项目信息详见项目资源管理

说明

  • ALB 默认支持 gzip 压缩,无需手动进行开启操作。
    • 如果客户端请求携带了Accept-Encoding: gzip,ALB 会对后端响应内容进行 gzip 压缩,如果客户端请求未携带 Accept-Encoding: gzip,ALB 不会对响应内容进行 gzip 压缩。
    • 支持的压缩内容类型包括:text/plaintext/csstext/xmlapplication/xmltext/javascriptapplication/x-javascriptapplication/jsonapplication/javascriptapplication/x-protobufapplication/octet-stream; ssmix=a
  • 在以下场景,ALB 压缩功能不生效。
    • 如果后端服务器返回的响应已经被压缩过了,ALB 不会对响应内容进行二次压缩。
    • 当响应内容的大小超过 200B 时,ALB 才会对响应内容进行压缩。若响应内容的大小在 200B 以下,ALB 的压缩功能将不再生效。
    • ALB 暂不支持 brotli 压缩。客户端请求携带了Accept-Encoding: br,ALB 不会对后端响应内容进行压缩。
  • 压缩会导致内容的 MD5 值发生变化。如果后端服务器配置了 MD5 校验机制,并且客户端需要校验原始响应内容的 MD5 值,请确保客户端请求头中不包含 Accept-Encoding: gzip,以避免 MD5 校验失败。

协议与加密套件

所选协议

加密套件

TLSv1

ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
AES128-SHA
AES256-SHA
DES-CBC3-SHA

TLSv1.1

TLSv1.2

ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
AES128-SHA
AES256-SHA
DES-CBC3-SHA
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA256

TLS1.3

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256

不填

默认加密套件:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5

绑定个性化策略

创建个性化策略后,为具体监听器绑定个性化配置策略并开启功能,监听才会遵循配置策略。

操作步骤

  1. 登录应用型负载均衡控制台
  2. 实例管理 页面,选择待配置监听关联的 ALB 实例。在 操作 列,点击 配置监听器
  3. 监听器 标签页的监听器列表中,点击待配置监听器名称。
  4. 监听详情 标签页下的个性化配置模块,点击 个性化配置 右边的编辑按钮,开启个性化配置状态,选择 个性化配置策略 后,点击 确定
    图片

说明

  • 个性化配置中的 TLS 版本与算法套件配置仅对 HTTPS 监听器生效。
  • 监听关闭个性化配置后,再次开启时需要重新选择个性化配置策略。
  • 每个地域下最多支持创建200个策略组,每个策略组最多可关联50个监听。