在CloudFront配置中设置Cookie(子域到父级)时遇到问题:
example.com
api.example.com
files.example.com
example.com
上的Web应用程序在api.example.com
上联系lambda代理GET方法。除其他外,此函数返回包含AWS.CloudFront.Signer.getSignedCookies()
{
'Set-Cookie': `CloudFront-Expires=...; Domain=.example.com`,
'SEt-Cookie': `CloudFront-Signature=...; Domain=.example.com`,
'SET-Cookie': `CloudFront-Key-Pair-Id=...; Domain=.example.com`
}
这些是通过响应发送到客户端的,但由于某种原因,未在GET请求中发送到files.example.com
上的S3存储桶。
我不确定问题是否是设置或发送的Cookie:通过查看chrome dev工具中的应用程序选项卡,似乎Cookie不是在那里。但是,在网络标签中,Cookie确实与api.example.com
的请求一起发送(但不会发送到files.example.com
的请求)。
据我所知,配置应该在域cookie策略方面起作用(子域名正在尝试设置一个父域的cookie,在该域下是父域的不同子域,应该接收cookie)。这种行为的任何其他直接嫌疑人?
答案 0 :(得分:0)
您想要使用Cookie域.example.com
而不是example.com
。前导.
也允许子域访问cookie。
您还需要确保将Cookie转发到您的CloudFront行为中的来源。