我在GCP API网关后面为应用引擎标准Java 11运行时提供服务。该应用程序使用Spring Security设置安全标头。我想在我的响应中启用Strict-Transport-Security标头,但即使标头由Spring Security启用,默认情况下API GW的响应不包括标头。有什么方法可以在API GW上启用Strict-Transport-Security?
HTTP严格传输安全(HSTS(web安全策略机制通过强制用户仅通过HTTPS与服务器通信来帮助保护网站免受攻击。当用户向服务器发送HTTP请求时,它会在以秒为单位指定的时间内使用Strict Transport Security响应标头进行响应。在响应标头中,该时间长度被描述为最大年龄属性。
在响应中设置"严格传输安全"标头的标准方法使用:
Strict-Transport-Security: max-age=31536000; includeSubDomains
此外,当启用云API网关时,必须上传openAPI YAML文件。
在这一点上,可能有两种可能的情况:
未成功配置Strict Transport Security标头。在这种情况下,请仔细检查应用程序引擎的直接响应(不使用云API网关时(。这将确保应用程序引擎被正确配置用于输出标头。
与GitHub链接中一样,没有任何设置可能会从请求中删除Strict Transport Security标头。但是,值得仔细检查YAML文件,以确定是否有任何设置可能会修改此标头标志。
如果以上两个故障排除步骤不起作用,请尝试打开一个bug。