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

如何从其他设备访问Kali Linux上运行的LocalStack?

解决LocalStack无法通过主机IP访问的问题

问题根源

你的LocalStack容器端口仅绑定在主机的127.0.0.1回环地址上,同时环境变量配置存在语法错误,导致只能通过localhost访问,无法通过主机对外IP地址访问。

具体修复步骤

1. 修改端口映射配置

在docker-compose.yaml的ports段中,将绑定127.0.0.1的核心端口改为绑定主机所有网卡(0.0.0.0),让外部能通过主机IP访问:

ports:
  - "0.0.0.0:4566:4566"            # LocalStack Gateway,绑定所有网卡
  - "0.0.0.0:4510-4559:4510-4559"  # 外部服务端口范围
  # Pro版专属端口若无需对外访问,可保留127.0.0.1绑定
  - "127.0.0.1:53:53"                # DNS配置(仅Pro版需要)
  - "127.0.0.1:53:53/udp"            # DNS配置(仅Pro版需要)
  - "127.0.0.1:443:443"              # HTTPS网关(仅Pro版需要)

2. 修正环境变量并添加监听配置

原配置中HOSTNAME_EXTERNAL-localstack是语法错误,需改为HOSTNAME_EXTERNAL=localstack,同时添加LOCALSTACK_BIND_ADDRESS=0.0.0.0让LocalStack服务监听容器内所有接口:

environment:
  - DEBUG=${DEBUG-}
  - PERSISTENCE=${PERSISTENCE-}
  - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR-}
  - LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY-}  # 仅Pro版需要
  - DOCKER_HOST=unix:///var/run/docker.sock
  - LOCALSTACK_BIND_ADDRESS=0.0.0.0
  - HOSTNAME_EXTERNAL=localstack

3. 重启容器生效配置

执行以下命令重启LocalStack容器:

docker-compose down
docker-compose up -d

4. 测试主机IP访问

用主机IP执行AWS命令验证:

aws --endpoint-url=http://10.xxx.xxx.xxx:4566 s3 ls

额外检查项

  • 确认Kali Linux主机防火墙(如ufw)已放行4566端口:
    sudo ufw allow 4566/tcp
    
  • 确保主机IP10.xxx.xxx.xxx在局域网内是可达状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:10:28