阿里云Redis公网连接的解决办法-阿里云开发者社区

开发者社区> suboysugar> 正文

阿里云Redis公网连接的解决办法

简介: https://help.aliyun.com/document_detail/43850.html   前提条件 如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现。
+关注继续查看

https://help.aliyun.com/document_detail/43850.html

 

前提条件

如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现。但必须符合以下前提条件:

  • 若 Redis 实例属于专有网络(VPC),ECS 必须与 Redis 实例属于同一个 VPC。

  • 若 Redis 实例属于经典网络,ECS 必须与 Redis 实例属于同一节点(地域)。

  • 若 Redis 实例开启了 IP 白名单,必须将 ECS 的内网地址加入白名单列表内。

ECS Windows 篇

目前云数据库 Redis 版需要通过 ECS 的内网进行连接访问,如果您需要本地通过公网访问云数据库 Redis 版,可以在 ECS Windows 云服务器中通过 netsh 进行端口映射实现。

  1. 登录 ECS Windows 服务器,在 cmd 执行以下命令:

    1. netsh interface portproxy add v4tov4 listenaddress=ECS服务器的私有IP地址 listenport=6379 connectaddress=云数据库Redis的连接地址 connectport=6379

    netsh interface

    其中:

    • netsh interface portproxy delete v4tov4 listenaddress=ECS公网服务器的公网IP地址 listenport=6379 可以删除不需要的映射。

    • netsh interface portproxy show all 可以查看当前服务器中存在的映射。

  2. 设置完成后在本地进行验证测试。

    本地验证

    1. 在本地通过 redis-cli 连接 ECS Windows 服务器。假设 ECS Windows 服务器的 IP 是 1.1.1.1,即 telnet 1.1.1.1 6379

    2. 连接上 ECS windows 服务器后,输入连接 Redis 的密码:auth Redis的连接密码

    3. 进行数据写入及查询验证。

通过上述步骤即可实现:您本地 PC 或服务器通过公网连接 ECS Windows 6379端口,对云数据库 Redis 进行访问。

注意:因 portproxy 由微软官方提供,未开源使用,您如果配置使用过程中遇到疑问,可参看 netsh 的 portproxy 使用说明或向微软官方咨询确认。或者您也可以考虑通过其他的方案实现,比如通过 portmap 配置代理映射。

ECS Linux 篇

目前云数据库 Redis 版需要通过 ECS 进行内网连接访问。如果您本地需要通过公网访问云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现。

  1. 在云服务器 ECS Linux 中安装 rinetd。

    1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
    2. sed -i 's/65536/65535/g' rinetd.c (修改端口范围)
    3. mkdir /usr/man&&make&&make install

    注意:rinetd 安装包下载地址不确保下载可用性,您可以自行搜索安装包进行下载使用。

  2. 打开配置文件 rinetd.conf。

    1. vi /etc/rinetd.conf
  3. 在配置文件中输入如下内容:

    1. 0.0.0.0 6379 Redis 的链接地址 6379
    2. logfile /var/log/rinetd.log

    说明:您可以使用 cat /etc/rinetd.conf命令来检验配置文件是否修改正确。

  4. 执行如下命令启动 rinetd。

    1. rinetd

    注意

    • 您可以通过 echo rinetd >>/etc/rc.local 将 rinetd 设置为自启动。

    • 若遇到绑定报错,可以执行 pkill rinetd 结束进程,再执行 rinetd启动进程 rinetd。

    • rinetd 正常启动后, 执行netstat -anp | grep 6379 确认服务是否正常运行。

    netstat 验证

  5. 在本地进行验证测试。

    1. 您可以在本地通过 redis-cli 连接 ECS Linux 服务器后进行登录验证,比如安装了 rinetd 的服务器的 IP 是 1.1.1.1,即redis-cli -h 1.1.1.1 -a Redis的实例ID:Redis密码。或者通过 telent 连接 ECS Linux 服务器后进行操作验证。假设 ECS Linux 服务器的 IP 是 1.1.1.1,即telnet 1.1.1.1 6379

    2. 连接上 ECS Linux 服务器后,输入连接 Redis 的密码:auth Redis的连接密码

    3. 进行数据写入及查询验证。

      本地验证

通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux 6379 端口,对云数据库 Redis 进行访问。

注意:您可以通过该方案进行测试使用,因 rinetd 为开源软件,如在使用过程中存在疑问,您可以参看其官方文档或与 rinetd 官方进行联系确认。

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10086 0
Java笔记——Redis分布式锁解决方案
我们知道分布式锁的特性是排他、避免死锁、高可用。分布式锁的实现可以通过数据库的乐观锁(通过版本号)或者悲观锁(通过for update)、Redis的setnx()命令、Zookeeper(在某个持久节点添加临时有序节点,判断当前节点是否是序列中最小的节点,如果不是则监听比当前节点还要小的节点。
1262 0
Redis (error) NOAUTH Authentication required解决方案
Redis (error) NOAUTH Authentication required解决方案
21 0
云数据库Redis版备份恢复解决方案上线,数据可靠性全面升级!
阿里云云数据库Redis版致力于为用户提供稳定可靠、性能卓越、可弹性伸缩的数据库服务,并提供全套的容灾切换、故障迁移、在线扩容、性能优化的数据库解决方案。 云数据库Redis版采用双击热备的架构保证服务高可用,并且提供了持久化机制来保证数据可靠性。但是随着越来越多的
8518 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13891 0
Redis热门问答及解决方法
Redis热门问答及解决方法,转自阿里云开发者问答,大家有问题可以移步阿里云问答模块:https://developer.aliyun.com/ask/ Redis有windows版本吗?https://yq.
613 0
解决redis aof文件过大的问题
执行BGREWRITEAOF命令对redis的AOF进行重写 redis-cli BGREWRITEAOF 相关解释: Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一种持久化方式(另一种是RDB),它会将所有的写命令按照一定频率(no, always, every seconds)写入到日志文件中,当Redis停机重启后恢复数据库。
3557 0
+关注
suboysugar
目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
710
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载