在Web应用开发中,Redis经常被用来存储数据,当希望远程访问Redis 服务器 的数据的时候,有时会遇到无权限访问的问题。在本文中,我们将介绍如何解决Redis远程访问无权限问题的几种方法。
第一种方法是让Redis服务器接受来自所有地址的连接。这种方法可以通过安装客户端代理工具来实现,并且需要在Redis服务器上配置一个监听端口,以及一个防火墙规则,以允许远程访问,例如:
# 开启端口开放8000端口访问
vim /etc/redis/redis.conf
# 将注释掉的行改为
bind 0.0.0.0
# 复制到防火墙规则
iptables -A INPUT -p tcp –dport 8000 -j ACCEPT

另一种更常见的方法是通过使用SSH工具将本地客户端和远程Redis服务器建立连接,以便能够安全的进行数据访问。SSH工具可以通过在服务器上安装openssh-server来实现,并且可以通过ssh命令指定参数-L将连接转发到远程Redis服务器,例如:```bash$ ssh -L 127.0.0.1:6379:127.0.0.1:6379User@RemoteRedisIP
此外,也可以使用Redis提供的远程访问机制,允许服务器只对指定的IP地址,指定的端口等进行访问,例如:
# 在redis.conf里设置如下参数
requirepass password
# 允许访问的IP段
# 下例允许本地及10.0.0.0/8网段的IP访问
# 保留空格,加入多个允许的IP访问
bind 10.0.0.0/8 127.0.0.1
上述介绍的几种方法中,要根据不同的应用环境选择更合适的解决方案进行配置,以实现对Redis远程访问无权限问题的解决。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
你把“B中数据库表”的insert权限再单独给dblink用户赋权一遍试试,大多是权限问题
redis能进入客户端,但是IP号前面少了redis,并且运行命令也没反应,怎么解决?
是因为你的配置文件没有加载,如果配置文件修改了时候,需要重新启动redis-server重新加载配置文件
如何生成和部署到本地数据库
此本地服务器实例可以用作生成、测试和调试您的项目的沙盒。 它独立于您已安装的任何 SQL Server 实例,并且不可从 SQL Server Data Tools (SSDT) 之外访问。 如果开发人员对生产数据库只有有限访问权限或没有访问权限,但想要在授权人士将其项目部署到生产前在本地测试其项目,则上述安排适合于此类开发人员。 此外,在您为 SQL Azure 开发数据库解决方案时,可以利用此本地服务器所提供的便利,在将数据库项目部署到云中之前在本地开发和测试您的数据库项目。 警告: 在SQL Server 对象资源管理器中的本地数据库节点下的数据库表示其相应的数据库项目,与连接的服务器实例中的同名数据库无关。 警告: 以下过程将使用在连接的数据库开发和面向项目的脱机数据库开发这两节中的之前的过程中创建的实体。 使用本地数据库请注意,在SQL Server 对象资源管理器中的SQL Server 节点下,将出现一个名为“本地”的新节点。 这是本地数据库实例。 展开“本地”和“数据库”节点。 请注意具有与 TradeDev 项目同名的数据库的外观。 展开此数据库下的节点。 “数据工具操作”窗口可在“本地”节点数据库上显示正在进行的扩展/导入操作的状态。 请注意,这些节点不包含我们在以前的过程中创建的任何表和实体。 按F5 调试 TradeDev 数据库项目。 默认情况下,SSDT 将使用本地数据库服务器实例来调试数据库项目。 在这种情况下,SSDT 将首先尝试生成该项目,如果没有错误,该项目(及其实体)将部署到本地数据库中。 如果您在以后调试相同的项目,SSDT 将检测到您在上次调试会话后进行的任何更改,并且仅将这些更改部署到本地数据库。 再次展开“本地”数据库服务器中 TradeDev 下的节点。 这一次,注意到表、视图和函数已部署到该本地数据库服务器。 右键单击 TradeDev 节点并选择“新建查询”。 在脚本窗格中,粘贴以下代码并单击“执行查询”按钮以便运行该查询。 select * from (1) “消息”窗格将显示“(0 行受影响)”并且“结果”窗格将不返回任何行。 这是因为我们对本地数据库进行查询,而非对包含实际数据的连接的数据库进行查询。 您可以通过右键单击这个本地 TradeDev 数据库下方的 Products 表,然后选择“查看数据”,对此进行确认。 请注意,该表是空的。 将实际数据复制到本地数据库在SQL Server 对象资源管理器中,展开您的连接的 SQL Server 实例并找到 TradeDev 数据库。 右键单击 Suppliers 表并选择“查看数据”。 单击数据编辑器顶部的“脚本”按钮(从右边数第二个按钮)。 从该脚本中复制 INSERT 语句。 展开“本地”服务器实例并右键单击 TradeDev 节点,然后选择“新建查询”。 将INSERT 语句粘贴到此查询窗口中并执行查询。 重复上述步骤,将数据从连接的 TradeDev 数据库的 Products 和Fruits 表复制到本地 TradeDev 数据库。 右键单击该“本地”服务器实例,然后选择“刷新”。 使用“查看数据”对这些表进行检查,以便确认已填充该本地数据库。 右键单击本地服务器实例的 TradeDev 节点,然后选择“新建查询”。 在脚本窗格中,粘贴以下代码并单击“执行查询”按钮以便运行该查询。
发表评论