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

Lando启动失败:WSL2环境下代理端口绑定错误求助

解决WSL2环境下Lando启动端口绑定失败及跨环境访问问题

问题背景

环境:Windows 11 + WSL2 Ubuntu 20 + 带WSL支持的Docker + Lando 3.11
启动Lando时出现端口绑定错误:

Cannot start service proxy: Ports are not available: exposing port TCP 127.0.0.1:443 -> 0.0.0.0:0: listen tcp 127.0.0.1:443: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

修改Lando全局config.yml的proxyHttpsPort无效,且Windows侧可访问localhost,但WSL内部curl localhost会被拒绝。


解决方案步骤

1. 彻底排查Windows侧端口占用

WSL2的端口依赖Windows系统转发,部分系统服务或隐藏进程可能悄悄占用443端口,用管理员权限打开CMD执行:

netstat -abno | findstr :443
  • 找到对应PID的进程名,若为系统服务(如HTTP.sys、IIS、远程桌面相关服务),可临时停止该服务后重试启动Lando。
  • 若未找到明确占用进程,继续下一步。

2. 调整Lando全局配置解决端口绑定

编辑Lando的全局配置文件(路径:~/.lando/config.yml),同时修改两个参数:

# 自定义HTTPS端口,避开443
proxyHttpsPort: 4443
# 绑定到所有网卡,而非仅127.0.0.1
proxyBindAddress: 0.0.0.0

保存后重启Lando服务:

lando rebuild -y

3. 解决WSL内部无法访问的问题

WSL2的localhost与Windows侧并非完全互通,可通过以下两种方式处理:

方式一:使用WSL内部IP访问

在WSL终端执行命令获取本机IP:

hostname -I

得到类似192.168.1.100的地址,用该地址替代localhost访问:

curl https://192.168.1.100:4443

方式二:配置端口转发与防火墙

  • 在Windows管理员CMD中添加端口转发规则(替换<WSL_IP>为上述获取的IP):
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=4443 connectaddress=<WSL_IP> connectport=4443
  • 在WSL中开放对应端口的防火墙规则:
sudo ufw allow 4443/tcp
sudo ufw reload

4. 检查Docker WSL集成状态

打开Docker Desktop,进入Settings > Resources > WSL Integration,确保Ubuntu 20的集成开关处于开启状态,重启Docker后再启动Lando。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:27:30