`

redis配置文件中bind和protecte-mode的作用

 
阅读更多

转自:https://blog.csdn.net/cw_hello1/article/details/83444013 

 

 

本地redis客户端使用  redis-cli -h host -p port -a password 连接远程服务器,爆出错误

Error: Protocol error, got "J" as reply type byte

 解决问题的关键在了解redis服务器上配置文件中bind和protected-mode这两项配置的作用

 

bind的作用

 

经常会有个误区是bind用于绑定能够访问本机redis服务器的ip,但是真要配置一个其他机器的ip,就会发现启动不了redis。

 

bind的真实作用是,绑定本机的网卡ip,如果配置了bind,则redis服务器只接受来自绑定网卡的redis请求。如果都没配置,则接受所有网卡发来的请求

举例:如果redis服务器上有两个网卡,IP地址分别是IP1和IP2,在redis.conf里配置 bind IP1,那么远程客户端只能通过IP1访问redis服务器。如果配置了IP1和IP2以外的地址,redis服务就会启动不了

 

配置bind 127.0.0.1之后,只有本机能访问的原因:
127.0.0.1是一个回环地址,所有计算机都只能访问自己的回环地址。所以只有本机能访问这个IP地址而不是只接受回环地址的访问

 

 

redis中的【protected-mode】的理解

 

redis本身无法限制【只有指定主机】连接到redis中,就像上面说的一样,bind指定只是用来设置接口地址(interfaces)。

         1.如果你的bind设置为:bind 127.0.0.1,这是非常安全的,因为只有本台主机可以连接到redis,就算不设置密码,也是安全的,除非有人登入到你的服务器上。

        2.如果你的bind设置为:bind 0.0.0.0,表示所有主机都可以连接到redis。(前提:你的服务器必须开放redis的端口)。这时设置密码,就会多一层保护,只有知道密码的才可以访问。也就是任何知道密码的主机都可以访问到你的redis。

 

protected-mode是redis本身的一个安全层,这个安全层的作用:就是只有【本机】可以访问redis,其他任何都不可以访问redis。这个安全层开启必须满足三个条件,不然安全层处于关闭状态:

(1)protected-mode yes(处于开启)

(2)没有bind指令。原文:The server is not binding explicitly to a set of addresses using the "bind" directive.

(3)没有设置密码。原文:No password is configured。

这时redis的保护机制就会开启。开启之后,只有本机才可以访问redis。 如果上面三个条件任何一个不满足,就不会开启保护机制。

 

分享到:
评论

相关推荐

    php_redis-2.2.7-5.6-nts-vc11-x86,php_redis-2.2.5-5.6-ts-vc11-x86

    标题中的"php_redis-2.2.7-5.6-nts-vc11-x86"和"php_redis-2.2.5-5.6-ts-vc11-x86"指的是PHP的Redis扩展的不同版本,适用于PHP 5.6。这里的"2.2.7"和"2.2.5"是Redis扩展的版本号,"5.6"对应的是PHP的版本号。"nts"和...

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    标题中的"tomcat-redis-session-manager-1.2-tomcat-7-java-7"表明这是一个针对Tomcat服务器,用于管理session的组件,版本为1.2,适配Tomcat 7和Java 7环境。这个组件的主要作用是将Tomcat的会话管理功能与Redis...

    redis-stack-server-6.2.6-v7.rhel7.x86-64.tar.gz

    这里的 "redis-stack-server-6.2.6-v7.rhel7.x86-64.tar.gz" 文件是一个针对 Red Hat Enterprise Linux 7 (RHEL7) 平台的 64 位版本的 Redis Stack 6.2.6 包。这个压缩包包含了运行 Redis Stack 所需的所有组件,...

    php_redis-2.2.5-5.6-ts-vc11-x64

    在“php_redis-2.2.5-5.6-ts-vc11-x64”中,"2.2.5"代表了Redis扩展的版本号,这是一个稳定且经过广泛测试的版本。"5.6"表示此扩展适用于PHP 5.6版本,这是一个较为流行且广泛应用的PHP版本。"ts"代表"Thread Safe...

    redis 免安装 redis客户端 redis-desktop-manager-0.8.8.384

    1. 解压下载的 Redis 文件,找到 `redis-server.exe` 和配置文件 `redis.conf`。 2. 修改 `redis.conf`,根据需求配置 Redis 服务,例如端口、数据文件路径等。 3. 运行 `redis-server.exe redis.conf` 启动 Redis ...

    tomcat-redis-session-manager-1.2-tomcat-6&7

    "tomcat-redis-session-manager-1.2-tomcat-6.jar" 和 "tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar" 是针对Tomcat 6和Tomcat 7的Redis Session Manager实现,这两个jar文件提供了将Tomcat的session存储...

    Redis windows下载 Redis-x64-3.2.100.zip

    redis-server --service-install redis.windows-service.conf --loglevel verbose 2 常用的redis服务命令。 卸载服务:redis-server --service-uninstall 开启服务:redis-server --service-start 停止服务:redis-...

    Redis-Desktop-Manager-for-Windows-2020.7.zip

    在Windows上安装Redis Desktop Manager 2020.7,首先需要解压"Redis-Desktop-Manager-for-Windows-2020.7.zip"文件,其中包含"rdm-2020.7.exe"可执行文件。双击运行该文件,按照安装向导完成安装。安装完成后,启动...

    tomcat-redis-session-manager-1.2-tomcat-6.jar

    用于配置 tomcat-redis-session-manager

    redis安装文件Redis-x64-3.2.10、Redis-x64-3.0.50

    Redis-x64-3.0.504.zip和Redis-x64-3.2.100.msi是两个不同版本的Redis安装文件,分别对应Redis的3.0.504和3.2.10版本。这两个版本之间的主要区别在于功能增强、性能优化和修复了已知的问题。例如,从3.0到3.2,Redis...

    redis-5.0.12.tar文件(分享给需要的同学)

    redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-5.0.12.tar文件 redis-...

    php_redis-2.2.7-5.6-ts-vc11-x64和php_igbinary-2.0.1-5.6-ts-vc11-x64

    `php_redis-2.2.7-5.6-ts-vc11-x64.zip`文件包含了适用于PHP 5.6,线程安全(TS)版本,使用Visual C++ 11编译器,并且是为64位Windows系统编译的php_redis扩展。 其次,`php_igbinary`扩展则是用于替代默认的PHP...

    redis+redis-desktop-manager-0.8.3.3850+笔记

    1. 下载源码包:`redis-2.8.13.tar.gz` 是Redis的源码包,解压后进行编译和安装。 2. 解压:`tar -zxvf redis-2.8.13.tar.gz` 3. 编译:`cd redis-2.8.13`,然后`make` 4. 安装:`sudo make install` 5. 启动Redis...

    redis-windows-7.2.4.zip

    - 使用`redis-server --service-start`和`redis-server --service-stop`命令启动和停止服务。 6. **安全性**: - Redis默认不启用密码认证,为了安全,可以在配置文件中设置`requirepass`密码。 - 通过`bind`...

    php_redis-5.2.1-7.2-ts-vc15-x86.zip

    本文将围绕“php_redis-5.2.1-7.2-ts-vc15-x86.zip”这个压缩包文件,详细讲解如何在Windows环境下安装和使用PHP Redis扩展,以及其关键组件和功能。 首先,从文件名可以看出,这个压缩包是专为PHP 5.2.1到7.2版本...

    redis-3.0.0.tar和redis-3.0.0.gem.rar

    在这个场景中,我们关注的是Redis的集群搭建,涉及到的文件是"redis-3.0.0.tar"和"redis-3.0.0.gem"。这两个文件分别对应Redis服务本身和通过Ruby来创建Redis集群的工具。 首先,`redis-3.0.0.tar`是一个源代码...

    Redis-x64-3.0.504及php_redis-3.1.4-7.2-ts-vc15-x64

    Redis 和 PHP Redis 扩展是两个在 Web 开发中至关重要的组件,特别是在构建高性能、高并发的 Web 应用程序时。...在实际应用中,需要根据具体需求选择合适的 Redis 版本和扩展,进行合理的配置和调优。

    redis-6.0.16.tar.gz-linux安装包

    本文将详细介绍如何在Linux系统中,通过`tar`命令安装`redis-6.0.16`版本。 首先,确保你的Linux环境已经安装了`tar`工具,这是Linux中常见的文件打包解压工具。如果没有,可以通过`apt-get`(Ubuntu/Debian)或`...

    redis5离线安装文件包,包含redis-5.0.14.tar.gz和redis-4.6.0.gem

    redis-5.0.14/src/redis-cli --cluster create 192.168.129.98:7000 192.168.129.99:7003 192.168.129.99:7002 192.168.129.126:7005 192.168.129.126:7004 192.168.129.98:7001 --cluster-replicas

    redis-stack-server-6.2.4-v1.rhel7.x86_64.tar.gz

    在这个版本“redis-stack-server-6.2.4-v1.rhel7.x86_64.tar.gz”中,我们看到的是 Redis 6.2.4 的一个特定构建,特别针对 RHEL (Red Hat Enterprise Linux) 7 操作系统的 x86_64 架构。这个压缩包很可能包含了 ...

Global site tag (gtag.js) - Google Analytics