AWS CloudFront 为不同主机(前端和后端)设置 cookie

AWS CloudFront set cookie for different hosts (frontend and backend)

我正在使用 bitbucket 和 AWS 创建 CI/CD。在存储在 S3 存储桶中的 AWS 前端,后端 - EC2 + ElasticBeanstalk。我想使用免费的 SSL,这就是我使用 CloudFront 包装它们的原因。现在我可以看到为非授权用户显示的所有内容。我使用 COOKIE 进行了身份验证,我的意思是我设置了 COOKIE 属性并在后端和前端检查它以授予对用户仪表板的访问权限。前端和后端使用不同的 CF 路由。这就是我尝试配置 CORS 的原因。对于 S3 存储桶,我设置了下一个 CORS 配置:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]

我的后端正在使用下一个 CORS 配置(这是来自 express 应用的示例)

{
            allowedHeaders: [
                'Origin',
                'X-Requested-With',
                'Content-Type',
                'Accept',
                'X-Access-Token',
                'Access-Control-Allow-Methods'
            ],
            credentials: true,
            methods: 'GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE',
            origin: true,
            preflightContinue: false,
        }

问题是,当我尝试为前端设置 auth COOKIE 时。我看到使用正确的 COOKIES 请求后端,但浏览器未设置 COOKIE,这就是前端部分关闭对用户仪表板的访问的原因。如何为浏览器设置COOKIE? UI主机和后端主机不同。

P.S。如果我错过了任何有用的信息 - 让我知道,我会更新这个问题。

我找到了解决方案 - 使用一台主机作为前端和后端,现在它适合我。