修改您的 Application 负载均衡器的 HTTP 标头 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

修改您的 Application 负载均衡器的 HTTP 标头

应用程序负载均衡器支持修改请求和响应标头的 HTTP 标头。无需更新应用程序代码,修改标头即可更好地控制应用程序的流量和安全性。

要启用标题修改,请参阅启用标题修改

重命名 mtls/TLS 标头

标头重命名功能允许您配置 Application Load Balancer 生成并添加到请求中的 mTLS 和 TLS 标头的名称。

这种修改 HTTP 标头的功能使您的 Application Load Balancer 能够轻松支持使用特殊格式的请求和响应标头的应用程序。

标题 描述

X-Amzn-Mtls-Clientcert-Serial-Number

确保目标可以识别和验证客户端在 TLS 握手期间提供的特定证书。

X-Amzn-Mtls-Clientcert-Issuer

通过识别颁发证书的证书颁发机构,帮助目标对客户端证书进行验证和身份验证。

X-Amzn-Mtls-Clientcert-Subject

向目标提供有关向其颁发客户端证书的实体的详细信息,这有助于在 mTLS 身份验证期间进行识别、身份验证、授权和记录。

X-Amzn-Mtls-Clientcert-Validity

允许目标验证正在使用的客户端证书是否在其定义的有效期内,确保证书没有过期或过早使用。

X-Amzn-Mtls-Clientcert-Leaf

提供 mTLS 握手中使用的客户端证书,允许服务器对客户端进行身份验证并验证证书链。这样可以确保连接的安全和授权。

X-Amzn-Mtls-Clientcert

携带完整的客户证书。允许目标在 mTLS 握手过程中验证证书的真实性、验证证书链并对客户端进行身份验证。

X-Amzn-TLS-Version

表示用于连接的 TLS 协议的版本。它有助于确定通信的安全级别、解决连接问题和确保合规性。

X-Amzn-TLS-Cipher-Suite

表示用于保护 TLS 中连接的加密算法的组合。这使服务器能够评估连接的安全性,帮助进行兼容性故障排除,并确保遵守安全策略。

添加响应标头

使用插入标头,您可以将 Application Load Balancer 配置为在响应中添加与安全相关的标头。使用这些属性,您可以插入包括 HSTS、CORS 和 CSP 在内的标题。

默认情况下,这些标题为空。发生这种情况时,Application Load Balancer 不会修改此响应标头。

启用响应标头时,Application Load Balancer 会将带有配置值的标头添加到所有响应中。如果来自目标的响应包含 HTTP 响应标头,则负载均衡器会将标头值更新为配置值。否则,负载均衡器会使用配置的值将 HTTP 响应标头添加到响应中。

标题 描述

Strict-Transport-Security

在指定时间内通过浏览器强制执行仅限 HTTPS 的连接,这有助于防范攻 man-in-the-middle击、协议降级和用户错误。确保客户端和目标之间的所有通信都经过加密。

Access-Control-Allow-Origin

控制是否可以从不同的来源访问目标上的资源。这允许安全的跨域交互,同时防止未经授权的访问。

Access-Control-Allow-Methods

指定向目标发出跨源请求时允许的 HTTP 方法。它可以控制可以从不同的来源执行哪些操作。

Access-Control-Allow-Headers

指定跨域请求中可以包含哪些自定义或非简单标头。此标头让目标可以控制来自不同来源的客户端可以发送哪些标头。

Access-Control-Allow-Credentials

指定客户端是否应在跨源请求中包含诸如 Cookie、HTTP 身份验证或客户端证书之类的凭据。

Access-Control-Expose-Headers

允许目标指定客户端可以在跨源请求中访问哪些其他响应标头。

Access-Control-Max-Age

定义浏览器可以将预检请求的结果缓存多长时间,从而减少重复进行印前检查的需求。这有助于通过减少某些跨源请求所需的 OPTIONS 请求数量来优化性能。

Content-Security-Policy

一种安全功能,通过控制网站可以加载和执行脚本、样式、图像等资源来防止 XSS 等代码注入攻击。

X-Content-Type-Options

使用 no-sniff 指令,可防止浏览器猜测资源的 MIME 类型,从而增强网络安全性。它确保浏览器仅根据声明的内容类型解释内容

X-Frame-Options

标头安全机制,通过控制网页是否可以嵌入到框架中来帮助防止点击劫持攻击。诸如 “拒绝” 和 “SAMEORIGIN” 之类的值可以确保内容不会嵌入到恶意或不受信任的网站上。

禁用标题

使用禁用标头,您可以将 Application Load Balancer 配置为禁用响应中的server:awselb/2.0标头。这可以减少服务器特定信息的泄露,同时为您的应用程序增加一层额外的保护。

属性名称是routing.http.response.server.enabled。可用值为truefalse。默认值为 true

限制:
  • 标题值可以包含以下字符

    • 字母数字字符:a-zA-Z、和 0-9

    • 特殊字符:_ :;.,\/'?!(){}[]@<>=-+*#&`|~^%

  • 该属性的值大小不能超过 1K 字节。

  • Elastic Load Balancing 会执行基本的输入验证以验证标头值是否有效。但是,验证无法确认特定标头是否支持该值。

  • 为任何属性设置空值都将导致 Application Load Balancer 恢复到默认行为。