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

EasyAdmin生产环境重定向异常问题求助

问题解决:EasyAdmin生产环境重定向到Docker内部地址

问题原因

生产环境下Docker容器内部的Symfony未正确获取外部访问的域名信息,导致路由生成时使用容器内部的localhost:9000作为主机地址,而非你的domain.com。本地开发时请求直接指向Symfony服务器,因此不会出现该问题。

解决步骤

1. 设置APP_URL环境变量

在生产环境的.env文件(或Docker容器的环境变量配置中)添加:

APP_URL=https://domain.com

Symfony会优先使用这个值生成绝对URL,覆盖容器内部的主机信息。

2. 配置反向代理信任(若使用Nginx等反向代理)

如果VPS通过反向代理(如Nginx)将请求转发到Docker容器,需让Symfony信任该代理,确保框架能正确读取外部请求的Host头。

修改config/packages/framework.yaml:

framework:
    trusted_proxies: '%env(TRUSTED_PROXIES)%'
    trusted_hosts: '%env(TRUSTED_HOSTS)%'

再在.env中补充配置:

TRUSTED_PROXIES=0.0.0.0/0 # 或填写反向代理的具体IP
TRUSTED_HOSTS=domain.com

3. 清除生产环境缓存

修改配置后必须清除缓存,执行命令:

php bin/console cache:clear --env=prod

如果是Docker部署,需进入容器内部执行该命令。

验证

重启容器或应用后,再次点击EasyAdmin菜单,跳转地址应变为domain.com开头的正确路径。

你的菜单代码MenuItem::linkToCrud('Equipement', 'fas fa-list', Equipement::class);本身无问题,根源在于Symfony的环境配置,只要让框架正确感知外部访问地址,路由生成即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:46:08