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

Akeneo v6.x CE事件订阅报This url is not allowed问题咨询

问题结论

你碰到的This url is not allowed报错和Laravel侧配置没有任何关系:这个错误是Akeneo后台在提交配置时做的前置校验抛出的,根本没有发起实际HTTP请求到你填的地址,自然和路由请求方法、返回状态码这类Laravel侧配置无关。
报错的核心原因是你填写的所有地址都触发了Akeneo默认的SSRF防护拦截规则,不属于URL格式错误。

Akeneo事件订阅URL的强制限制

Akeneo 6 版本的事件订阅功能出于安全考虑,默认禁止向以下地址推送事件,所有命中规则的地址都会直接返回"url is not allowed"提示:

  • 本地环回地址:包括127.0.0.1、0.0.0.0、localhost,以及hosts文件手动绑定到本地IP的自定义域名(比如你配置的laravel.test)
  • 所有私有内网保留网段地址:包括10.0.0.0/8、172.16.0.0/12、192.168.0.0/16段的内网IP
  • 无论你给上述地址换HTTP/HTTPS协议、加不缀端口号,只要解析结果命中上述地址范围,都会被拦截。
    合法的事件接收地址必须满足:可被公网DNS正常解析、指向公网可路由的非保留IP。
本地开发环境的解决方式
  • 最简便的方案是使用内网穿透工具,将本地运行的Laravel服务映射为一个公网可访问的HTTPS地址,将这个公网地址填入Akeneo的URL配置项即可通过校验,常用的内网穿透工具包括ngrok、frp等。
  • 如果你是自主部署的Akeneo实例、拥有服务器修改权限,可以直接修改Akeneo的SSRF防护配置,将本地测试用的域名/IP加入请求白名单,跳过本地地址的拦截校验。
Laravel侧配置参考(等Akeneo侧URL校验通过后再调整)
  • 事件接收路由使用POST方法即可,和你之前的规划一致,不需要修改请求方法。
  • 将接收事件的路由路径加入CSRF校验白名单:在app/Http/Middleware/VerifyCsrfToken.php的$except数组中添加对应路径,避免Akeneo的无令牌请求被Laravel的CSRF中间件拦截返回419错误。
  • 收到Akeneo的测试请求或正式事件推送时,返回200、202、204这类2xx范围的HTTP状态码即可,Akeneo收到2xx响应就会判定请求成功,不需要返回额外的业务内容。
  • 正式上线时记得校验Akeneo请求头中携带的签名,避免恶意伪造的请求打到你的业务服务。

内容的提问来源于stack exchange,提问作者JarsOfJam-Scheduler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:45:38