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

Cloud Run部署Laravel应用自定义域名无法登录认证求助

解决Cloud Run上Laravel自定义域名无法登录的问题

一、完成Cloud Run自定义域名的完整配置

仅添加DNS的CNAME记录不足以让自定义域名正常工作,必须在Google Cloud控制台完成域名映射与验证:

  • 进入Cloud Run服务详情页,切换到「自定义域名」标签
  • 点击「添加映射」,输入devel.alberane.com,按照指引完成域名归属验证(通常是添加指定TXT记录到你的DNS服务商)
  • 等待Google自动配置SSL证书(耗时数分钟至数小时),确保自定义域名可通过HTTPS访问且浏览器显示证书有效

二、调整Laravel的会话与环境配置

修改项目根目录的.env文件,配置以下关键项:

APP_URL=https://devel.alberane.com
SESSION_DRIVER=database # 或file,根据你的测试需求选择
SESSION_DOMAIN=.alberane.com # 开头的点适配所有子域名;若仅需当前子域名,可设为devel.alberane.com
SESSION_SECURE=true # *必须开启*,因为自定义域名使用HTTPS,浏览器仅会保存带Secure属性的Cookie
SESSION_SAMESITE=Lax # 普通应用使用Lax即可,若存在跨域登录需求可设为None(需配合SESSION_SECURE=true)

三、清除Laravel配置缓存

修改配置后,必须执行以下命令清除缓存,确保新配置生效:

php artisan config:cache
php artisan cache:clear

如果是Cloud Run部署,建议将这两个命令加入部署脚本(如Dockerfile的启动命令),避免部署后残留旧配置缓存。

四、验证Cookie状态

用浏览器开发者工具排查Cookie是否正常生成:

  1. 访问https://devel.alberane.com,打开「开发者工具」→「Application」→「Cookies」,检查当前域名下是否存在laravel_session(或自定义会话Cookie名称)
  2. 查看Cookie属性:确认Secure为true、Domain匹配设置的SESSION_DOMAIN、SameSite符合配置
  3. 若Cookie未生成,查看「Console」标签是否有Cookie被拦截的错误提示(如SameSite不兼容、Secure未开启等)

额外排查方向

  • 检查登录请求的响应头:在「Network」标签中查看登录接口的响应是否包含Set-Cookie头部
  • 确认Cloud Run服务未设置限制自定义域名的访问控制策略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:58:11