Google Cloud Load Balancer Cookie上的安全标记

时间:2018-12-25 11:06:05

标签: cookies google-cloud-platform cloud google-compute-engine

我们的GCP负载均衡器已设置为使用Cookie会话关联性路由到我们的后端服务。一切正常,但未设置安全标志。我们尝试根据RFC 7230进行指定:

Set-Cookie: Secure

理论上,可以在后端服务自定义请求标头上配置标头。后端服务描述:

gcloud beta compute backend-services describe my-backend-service --global

customRequestHeaders:
- 'Set-Cookie: Secure'
description: ''
enableCDN: false
fingerprint: XXXXXX-XX
healthChecks:
- https://www.googleapis.com/compute/beta/projects/my-project/global/healthChecks/my-check
id: 'XXXXXXXXXXXXXXX'
kind: compute#backendService
loadBalancingScheme: EXTERNAL
name: my-backend-service
port: 80
portName: http
protocol: HTTP
selfLink: https://www.googleapis.com/compute/beta/projects/my-project/global/backendServices/my-backend-service
sessionAffinity: GENERATED_COOKIE
timeoutSec: 300

但是,GLCB cookie仍然不显示安全标志。

我们在做什么错了?

谢谢。

1 个答案:

答案 0 :(得分:0)

确保传递给UriCookieConfig的值是http而不是https。切换到https可以更改set-cookie的安全性,并且可以解决您的问题 设置cookie时,该cookie不会设置为具有安全属性,但不会设置为安全,因为它是通过http设置的(尽管也不理想)。 set-cookie标头中的安全标志指示客户端仅通过安全通道(例如https)发送回cookie,如果请求不安全,它将重定向到https: 有关更多详细信息,请参阅附件文档[1]。 [1] https://www.owasp.org/index.php/SecureFlag [2] https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https