在安全连接上使用Redis

 mobiledu2502894073 发布于 2023-02-04 18:41

我有一个运行Redis服务器的远程Linux机器,在开放端口上进行监听.我想加密流量,但Redis不支持SSH.建议的解决方案是使用SSH隧道,但我对此没有多少经验.

我尝试将RedisClient(ServiceStack.Redis)对象连接到通过SSH(SSH.NET)隧道转发到远程linux盒的本地端口:

static void Main(string[] args)
    {
        using (var client = new SshClient("example.org", "sshuser", "sshpassword"))
        {
            client.Connect();
            var port = new ForwardedPortLocal("localhost", 1234, " example.org ", 1234);
            client.AddForwardedPort(port);
            port.Exception += (sender, e) => Console.WriteLine(e.Exception.ToString());
            port.Start();
            using (var redisClient = new RedisClient("localhost", 1234, "redispassword"))
            {
                var values = redisClient.As();
                const string dansFord = "Dan's Ford Mustang";
                values.Store(dansFord);
                Console.WriteLine("Redis has " + values.GetAll().Count + " entries");
                values.GetAll().ToList().ForEach(Console.WriteLine); 
            }
            Console.ReadLine();
            port.Stop();
            client.Disconnect();
        }
    }

这不起作用,因为RedisClient无法连接到localhost上的不存在的服务器,并且转发似乎不起作用.我的问题是:

    是否可以将SSH.NET的SSH隧道用于RedisClient?

    我只是使用SshClient错了吗?

    有没有更简单的方法来完成与远程Redis服务器的加密连接?

我无法应用任何操作系统级别的调整,因此解决方案应该是纯达4.5.1的.NET.这里发布的解决方案需要一个商业图书馆,而我必须依赖免费的.

谢谢!

1 个回答
  • 回答:

      是否可以将SSH.NET的SSH隧道用于RedisClient?

      我只是使用SshClient错了吗?

      有没有更简单的方法来完成与远程Redis服务器的加密连接? 我不这么认为.Redis 建议使用SSL代理,但这似乎更复杂

    顺便说一句,您的代码在一些更改后工作.

    使用"127.0.0.1"而不是"localhost".

    使用localhost可能会导致问题,因为localhost可以解析为端口转发可能不支持的IPv6地址.

    端口转发应该像这样设置:

    var port = new ForwardedPortLocal("127.0.0.1",42421,"127.0.0.1",6379);

    42421是本地计算机上的端口.它必须是可用的.发送到此端口的所有流量都将被转发.

    6379是redis服务器正在侦听的远程服务器上的端口.

    与redis客户端连接时,请使用IPv4地址:

    var redisClient = new RedisClient("127.0.0.1",42421)

    42421与您上面用于转发的端口相同.

    2023-02-04 18:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有