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

Windows10环境下Symfony 5配置Mercure后无法访问Hub服务求助

问题原因

你返回的404错误由Apache服务抛出,核心是本地443端口已被预先启动的Apache占用,Mercure底层的Caddy服务没有成功绑定443端口,请求被Apache直接拦截,无法到达Mercure服务。
另外你的.env配置中MERCURE_URL开头多了一个多余的冒号,属于配置错误。

排查解决步骤
  • 第一步先确认端口占用:打开PowerShell执行netstat -ano | findstr :443,查看输出的PID对应的进程,确认是Apache服务后,优先停止本地Apache服务,再重启Mercure测试是否正常。
  • 如果你需要同时保留Apache运行,就修改Mercure的监听端口,启动Mercure时追加端口参数即可:
    $env:MERCURE_PUBLISHER_JWT_KEY='!ChangeMe!'; $env:MERCURE_SUBSCRIBER_JWT_KEY='!ChangeMe!'; .\mercure.exe run -config Caddyfile.dev --https-port 8443
    
  • 同步修正Symfony的.env配置:
    # 删掉开头多余的冒号,端口换成你指定的Mercure端口
    MERCURE_URL=https://127.0.0.1:8443/.well-known/mercure
    MERCURE_PUBLIC_URL=https://127.0.0.1:8443/.well-known/mercure
    MERCURE_JWT_SECRET="!ChangeMe!"
    
  • 重启Mercure服务后,访问https://127.0.0.1:8443/.well-known/mercure,如果返回401未授权错误,说明Mercure服务已经正常运行,401是未携带合法JWT的正常返回,符合预期。
  • 如果修改端口后仍无法正常访问,确认你的Windows系统架构,你当前下载的是arm64版本的Mercure,常规x64架构Windows需要下载对应x86_64版本的Mercure包重新部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:24:05