✅ 1. 修改 Redis 配置文件
在 WSL 的 Redis 配置文件中,找到 redis.conf
或 /etc/redis/redis.conf
文件,编辑以下配置项:
➡️ 更新 bind
配置项
将 bind 127.0.0.1 ::1
修改为:
ini
bind 0.0.0.0
这样,Redis 将监听所有的网络接口,而不仅仅是本地回环地址。
➡️ 允许远程连接
确保 protected-mode
设置为 no
:
ini
protected-mode no
➡️ 修改 requirepass
(如果有密码)
如果 Redis 设置了访问密码,确保你的客户端使用了正确的密码。
✅ 2. 重新启动 Redis 服务
保存配置后,重启 Redis 服务:
bash
sudo systemctl restart redis
或者,如果使用的是手动启动 Redis:
bash
redis-server /etc/redis/redis.conf
✅ 3. 检查防火墙配置
确保 Windows 防火墙 或其他防火墙没有阻止 Redis 的端口 6379:
➡️ 在 PowerShell 中添加防火墙规则:
powershell
New-NetFirewallRule -DisplayName "Allow Redis" -Direction Inbound -Protocol TCP -LocalPort 6379 -Action Allow
✅ 4. 确认 Redis 是否监听所有接口
在 WSL 中运行以下命令,确认 Redis 正在监听 0.0.0.0:6379:
bash
ss -tuln | grep 6379
你应该看到类似的输出:
tcp LISTEN 0 128 0.0.0.0:6379 *:*
✅ 5. 在 Windows 客户端测试连接
在 Windows 上的 Redis 客户端 中,尝试连接:
bash
redis-cli -h <WSL_IP_ADDRESS> -p 6379
如果你的 WSL IP 地址是 192.168.1.100,命令应该是:
bash
redis-cli -h 192.168.1.100 -p 6379
✅ 6. 获取 WSL 的 IP 地址
在 WSL 中运行以下命令获取 IP 地址:
bash
hostname -I
🎯 最终检查
- 确认
redis.conf
修改正确。 - 确认 Redis 在 0.0.0.0:6379 上监听。
- 确认 防火墙 已放行 6379 端口。
- 使用 Windows 客户端 测试连接。