阿里云Redis公网连接问题 -------- :(利用rinetd实现端口转发)


参考资料:https://www.cnblogs.com/kenshinobiy/p/7658117.html

前提条件
  如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现。但必须符合以下前提条件:
      若 Redis 实例属于专有网络(VPC),ECS 必须与 Redis 实例属于同一个 VPC。
      若 Redis 实例属于经典网络,ECS 必须与 Redis 实例属于同一节点(地域)。
      若 Redis 实例开启了 IP 白名单,必须将 ECS 的内网地址加入白名单列表内。

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

      在云服务器 ECS Linux 中安装 rinetd。
        wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
        sed -i 's/65536/65535/g' rinetd.c (修改端口范围)
        mkdir /usr/man&&make&&make install
        注意:rinetd 安装包下载地址不确保下载可用性,您可以自行搜索安装包进行下载使用。

     打开配置文件 rinetd.conf。
        vi /etc/rinetd.conf

     在配置文件中写入如下内容:
        0.0.0.0 6379 云Redis的链接地址 6379
        logfile /var/log/rinetd.log
        说明:您可以使用 cat /etc/rinetd.conf命令来检验配置文件是否修改正确。

    执行如下命令启动 rinetd。
        rinetd

        注意
            您可以通过 echo rinetd >>/etc/rc.local 将 rinetd 设置为自启动。
            若遇到绑定报错,可以执行 pkill rinetd 结束进程,再执行 rinetd启动进程 rinetd。
            rinetd 正常启动后, 执行netstat -anp | grep 6379 确认服务是否正常运行。

    netstat 验证

    在本地进行验证测试。
        首先,让你的ECS放开6379端口
        然后,连接测试:您可以在本地通过redis-cli连接ECS服务器后进行登录验证,即redis-cli -h ECS的IP -a Redis的实例ID:Redis密码 (例如:redis-cli -h 39.106.38.252 -a r-2ze5194129e56544.redis.rds.aliyuncs.com:flzx300ccc)
        最后,进行数据写入及查询验证。
        本地验证,通过redis-desktop-manager设置连接: 连接host:ECS的IP地址  端口:6379  验证: xxxxxxxxxx.redis.rds.com:flzx300ccc
通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux
6379 端口,对云数据库 Redis 进行访问。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM