You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署到Cloud Run后POST请求缺失XSRF Token问题求助

Laravel + Inertia 部署Cloud Run后登录419页面过期问题

问题背景

  • 技术栈:Laravel 11、Inertia、React → 打包为Docker镜像部署至Cloud Run
  • 访问应用根路径/时,按预期重定向到/login页面
  • 检查到此步骤的网络请求,请求和响应中均存在X-XSRF请求头及Cookie
  • 输入账号密码提交表单后,被重定向到**"419 Page Expired(页面过期)"**,此时的POST请求未携带任何X-XSRF请求头或Cookie
  • 对比:本地运行该镜像时,登录功能正常,请求会自动包含X-XSRF Token

排查尝试

试过多种强制携带XSRF Token的方法,比如在表单中添加隐藏输入字段、调整中间件及各类配置项。后来发现表单提交前的前置请求其实已经包含Token,而Inertia理论上会自动处理Token携带的问题。

请求详情

目前正在尝试更多排查手段,以下是登录POST请求的完整信息:

POST /login HTTP/3
Host: inertia-react-162956230927.asia-northeast2.run.app
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html, application/xhtml+xml
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br, zstd
Content-Type: application/json
Content-Length: 70
X-Requested-With: XMLHttpRequest
X-Inertia: true
X-Inertia-Version: ba6fd3500ad1fa8ab5152eef0ed1845b
Origin: https://inertia-react-162956230927.asia-northeast2.run.app
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

可见请求中完全没有预期的X-XSRF Token,但在之前获取登录页面的GET请求响应中,确实返回了对应的Cookie:

XSRF-TOKEN=eyJpdiI(...)iIn0%3D; expires=Wed, 02 Oct 2024 04:24:58 GMT; Max-Age=7200; path=/; domain=inertia-react-162956230927.asia-northeast2.run.app; samesite=lax

(Token内容已截断)

希望得到以下方向的帮助:

  • A. 我可能存在的理解误区
  • B. 其他分析和隔离问题的方法
  • C. 理清该问题的底层原理

PS:项目基本与某5小时教程配置一致,先解决部署问题再做重构,无需特意查看教程,若有人熟悉这类配置最好。


内容的提问来源于stack exchange,提问作者ClockworkOnion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 16:41:18