Windows 11下自托管Dapr应用报错:目标机器主动拒绝连接(127.0.0.1:3500)
解决Dapr自托管模式连接127.0.0.1:3500被拒绝的问题
1. 确认Dapr是否正常初始化并运行
打开PowerShell或命令提示符,执行以下命令查看Dapr状态:
dapr status
如果显示No Dapr instances found,说明Dapr未启动,先执行初始化:
dapr init
初始化完成后再次检查状态,确保sidecar进程正常运行。
2. 检查3500端口是否被占用
3500是Dapr默认HTTP端口,被其他程序占用会导致连接失败。执行命令查看端口占用情况:
netstat -ano | findstr :3500
如果有结果,记下对应PID,打开任务管理器结束该进程,再重启Dapr。
3. 确保应用通过Dapr命令启动
不要直接执行dotnet run启动后端服务,必须用Dapr命令带起sidecar,比如后端服务的启动命令应为:
dapr run --app-id MyBackEnd --app-port <你的后端服务端口> -- dotnet run
缺少dapr run前缀的话,sidecar未启动,自然无法通过3500端口调用服务。
4. 验证Dapr sidecar健康状态
在浏览器或Postman中访问http://localhost:3500/v1.0/healthz,若返回OK则sidecar正常;若无法访问,先停止现有实例再重启:
dapr stop --app-id MyBackEnd dapr run --app-id MyBackEnd --app-port <你的后端服务端口> -- dotnet run
5. 排查Windows防火墙干扰
Windows防火墙可能拦截3500端口的连接,先临时关闭防火墙测试,若问题解决,需在防火墙中添加规则,允许Dapr相关进程或3500端口的入站、出站请求。
6. 重置Dapr环境(终极方案)
若以上步骤无效,直接重置Dapr环境:
dapr uninstall dapr init
重置完成后重新启动你的多容器应用。
内容的提问来源于stack exchange,提问作者ZedZip
相关产品推荐
相关产品推荐

