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

Localstack从v2升级到v3后SQS服务无法通过localhost直接访问

Localstack 3.0.1升级后SQS直接HTTP访问失效的解决办法

Localstack 3.x版本对服务的HTTP请求路由规则做了调整,默认不再支持2.x版本中/<account-id>?Action=...这种直接路径访问的方式,这就是升级后无法通过原URL访问SQS的原因。下面提供两种解决方式:

方式一:使用标准AWS SQS API路径格式

直接访问时改用符合AWS官方规范的路径,示例如下:

  • 简化版(依赖默认区域和账号ID):
http://localhost:4566/aws/sqs?Action=ListQueues
  • 指定区域和账号ID的完整格式:
http://localhost:4566/eu-west-1/000000000000/sqs?Action=ListQueues

方式二:启用Legacy模式恢复旧路径行为

如果需要完全兼容之前的访问方式,只需在Docker Compose的环境变量中添加LEGACY_SERVICE_PATHS=1,修改后的配置如下:

version: '3.4'
services:
  localstack:
    image: localstack/localstack:3.0.1
    environment:
      - SERVICES=dynamodb,kinesis,s3,sns,sqs
      - DEFAULT_REGION=eu-west-1
      - HOSTNAME_EXTERNAL=${DEV_HOST:-host.docker.internal}
      - LOCALSTACK_SSL=0
      - REQUESTS_CA_BUNDLE=
      - CURL_CA_BUNDLE=
      - LEGACY_SERVICE_PATHS=1
    ports:
      - 4566:4566
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:4566/health" ]
      interval: 30s
      timeout: 10s
      retries: 5

添加该配置后,3.0.1版本会恢复2.x的路径路由逻辑,你原来的http://localhost:4566/000000000000?Action=ListQueues就能正常访问了。

Localstack 3.x默认调整路由规则是为了更贴近AWS生产环境的API规范,你可以根据自身需求选择适配新路径或启用兼容模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:04:51