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

Flask中/stripe_hook接口405 Method Not Allowed问题排查求助

Flask /stripe_hook接口405 Method Not Allowed问题解决

问题核心原因

从请求响应日志里的server: AmazonS3、x-cache: Error from cloudfront可以明确:你的请求没有到达Lightsail上的Flask应用,而是被AWS Amplify的静态资源托管服务(底层基于S3)拦截了。S3默认仅允许静态资源的HEAD/GET/DELETE/PUT请求,不支持POST方法,因此返回405错误。

其他/api/*接口正常,是因为Amplify已配置对应路径的转发规则,将请求导向Lightsail后端,但/stripe_hook不在转发规则范围内,被当成静态资源路径处理。

解决方案

  1. 登录AWS Amplify控制台,找到你的应用,进入重写与重定向设置页面。
  2. 添加一条新的转发规则,确保/stripe_hook路径被转发到Lightsail后端:
    • 源地址:^/stripe_hook$(正则匹配精确路径)
    • 目标地址:https://你的Lightsail服务器公网域名/stripe_hook
    • 类型选择:200 (Rewrite)
  3. 调整规则优先级,让这条规则排在默认的静态资源匹配规则之前(Amplify规则按从上到下顺序执行)。

额外验证步骤

  • 用Stripe CLI测试后端接口本身是否正常:
    stripe listen --forward-to https://你的Lightsail服务器IP/stripe_hook
    
    如果能正常接收事件,说明Flask代码本身没有问题,问题完全出在Amplify的路由配置上。
  • 确认Stripe后台配置的Webhook URL拼写正确,没有多余路径或错误域名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:43:20