【问题标题】:Laravel on AWS server doesn't return Set-Cookie headerAWS 服务器上的 Laravel 不返回 Set-Cookie 标头
【发布时间】: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


【解决方案1】:

我在 CloudFront 中将 Forward Cookies 设置为 All,然后一切顺利。

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 2013-05-30
    • 2019-08-01
    • 2021-12-29
    • 2017-10-02
    • 2020-02-02
    • 2022-10-06
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多