自学内容网 自学内容网

WSL (Windows Subsystem for Linux) 中 允许远程链接

在 WSL (Windows Subsystem for Linux) 中,默认情况下,Redis 只允许从本地连接。如果你希望从其他机器或主机连接到 Redis,可以通过以下步骤配置 Redis 以允许远程连接。

步骤 1: 修改 Redis 配置文件

Redis 配置文件通常位于 /etc/redis/redis.conf/etc/redis.conf

  1. 打开 Redis 配置文件:

    sudo nano /etc/redis/redis.conf
    
  2. 找到 bind 配置项,默认情况下它可能是这样的:

    bind 127.0.0.1 ::1
    
  3. 修改它,允许所有IP连接(这对于开发环境适用):

    bind 0.0.0.0
    

    这将允许任何 IP 地址连接到 Redis 服务器。

  4. 找到 protected-mode 配置项:

    protected-mode yes
    

    如果你希望在远程连接时禁用保护模式,可以将其改为:

    protected-mode no
    
  5. 保存并退出编辑器(在 nano 中按 Ctrl + X 然后按 Y 再按 Enter)。

步骤 2: 修改防火墙设置

确保 Windows 防火墙或 WSL 中的防火墙允许外部访问 Redis 端口(默认是 6379)。

在 Windows 防火墙中打开端口:
  1. 打开 Windows Defender 防火墙,点击“高级设置”。
  2. 在左侧点击“入站规则”,然后点击右侧的“新建规则”。
  3. 选择“端口”,然后点击“下一步”。
  4. 选择“TCP”,并设置端口号为 6379。
  5. 允许连接,点击“下一步”。
  6. 给规则命名,例如 Allow Redis, 然后点击“完成”。
在 WSL 中检查防火墙设置:

如果你在 WSL 中使用 ufw(Uncomplicated Firewall),确保允许 6379 端口的连接。

  1. 安装并启用 ufw

    sudo apt update
    sudo apt install ufw
    
  2. 允许 Redis 端口(6379):

    sudo ufw allow 6379
    
  3. 启用防火墙:

    sudo ufw enable
    

步骤 3: 重启 Redis 服务

完成上述修改后,重启 Redis 服务以使配置生效:

sudo systemctl restart redis

或者,如果你是通过命令行启动 Redis 的:

sudo redis-server /etc/redis/redis.conf

步骤 4: 检查连接

此时,Redis 应该已经允许来自任何 IP 地址的连接。你可以尝试从其他机器(或本地浏览器中)使用 redis-cli 连接到 Redis:

redis-cli -h <WSL_IP> -p 6379

你可以通过以下命令获取 WSL 的 IP 地址:

ip addr show eth0

找到 inet 字段显示的 IP 地址,例如 172.20.x.x,然后在远程机器上使用该 IP 地址连接。

注意:

  1. 在生产环境中,直接将 Redis 配置为接受来自任何 IP 地址的连接是不安全的,强烈建议使用 protected-mode 和 Redis 密码保护。
  2. 如果你不希望禁用 protected-mode,可以通过配置 Redis 密码来确保安全,修改配置文件中的 requirepass 设置:
    requirepass yourpassword
    

完成以上步骤后,Redis 就能在 WSL 中允许远程连接了。


原文地址:https://blog.csdn.net/WithCYwind/article/details/145203142

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!