【发布时间】:2021-07-02 08:10:27
【问题描述】:
在开发环境中
我在本地 php 服务器中安装了laravel/sanctum 并访问了/api/csrf-cookie,响应中存在Set-Cookie 标头,并且正确设置了cookie(会话和xsrf-token)。
由于前端和后端在开发环境中的端口号不同,所以我也使用fruitcake/laravel-cors并添加headers以允许CORS。前端浏览器的请求也成功了。
在云环境中
我将这些项目部署到 CloudFront。当我访问example.cloudfront.net/api/csrf-cookie 时,响应中不存在Set-Cookie 标头。我也从前端尝试过,但没有找到 cookie。所有路由都正常工作,但只有Set-Cookie 不工作。 CloudFront 路由在这里。
CloudFront 路由
example.cloudfront.net/ -> S3 (nuxt static generated site)
example.cloudfront.net/api/csrf-cookie -> ALB -> EC2 (laravel on nginx)
环境
SESSION_DOMAIN=example.cloudfront.net
#SESSION_DOMAIN=[local ip without the port] # works in local
如何从云端环境获取cookies?
【问题讨论】:
-
您在浏览器网络选项卡响应中看到了什么?
标签: laravel nginx cookies amazon-cloudfront laravel-sanctum