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

使用Localstack创建POST方法的EventBridge API Destination返回405状态码

解决Localstack创建EventBridge API Destination时的405错误

问题原因

Localstack在创建API Destination时,会对指定的invocation-endpoint发送预检请求(通常是OPTIONS或GET)来验证端点可达性。如果你的Docker服务仅允许POST方法、未处理该预检请求,就会返回405状态码导致创建失败——而你用wget测试的是POST请求,因此能正常访问。

解决方案

1. 让目标服务支持OPTIONS请求

修改你的Docker服务,添加对OPTIONS方法的支持,响应头需包含允许的请求方法:

Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Origin: *

配置完成后,Localstack的预检请求会得到200响应,创建流程即可正常执行。

2. 跳过Localstack的端点验证

启动Localstack时设置环境变量,强制跳过API Destination的端点校验:

EVENTS_SKIP_API_DESTINATION_VALIDATION=1

如果使用Docker Compose,在Localstack服务配置中添加:

environment:
  - EVENTS_SKIP_API_DESTINATION_VALIDATION=1

重新启动Localstack后,再执行创建命令即可绕过验证步骤。

3. 升级Localstack到最新版本

部分旧版本Localstack在API Destination的验证逻辑上存在兼容性问题,升级到最新稳定版可能直接解决该错误。

验证测试

修改完成后,重新执行创建命令:

awslocal events create-api-destination
--name "api-name"
--connection-arn "connection-arn"
--invocation-rate-limit-per-second 10
--http-method POST
--invocation-endpoint "http://host.docker.internal:port_no/api/my-endpoint"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:52:01