You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过spiped隧道连接远程Redis:Python库失效但命令行可用

问题:通过spiped隧道连接远程Redis时Python客户端报错

环境与正常操作情况

  • 远程服务器:Linux 环境部署 Redis 7.0,需通过 spiped 隧道访问
  • 本地启动 spiped 隧道命令:
spiped -F -e -s 127.0.0.1:6379 -t REMOTESERVER:6379 -k /etc/spiped/redis.key
  • 使用 redis-cli 可正常连接并操作远程Redis:
(redis_test) bob@Roberts-Mac-mini redis_test % redis-cli      
127.0.0.1:6379> AUTH myverysecretpassphrase
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> keys *
1) "test"
127.0.0.1:6379> exit

异常现象

运行以下Python代码时出现连接错误:

import redis

r = redis.Redis(host='MYSERVERIP', port=6379, password='myverysecretpassphrase')

r.set('foo', 'bar')
value = r.get('foo')
print(value)

错误追踪信息

(redis_test) bob@Roberts-Mac-mini redis_test % python test1.py 
Traceback (most recent call last):
  File "/Users/bob/Documents/work/redis_test/test1.py", line 8, in <module>
    r.set('foo', 'bar')
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/commands/core.py", line 2238, in set
    return self.execute_command("SET", *pieces, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/client.py", line 1255, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 1389, in get_connection
    connection.connect()
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 610, in connect
    self.on_connect()
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 701, in on_connect
    auth_response = self.read_response()
                    ^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 812, in read_response
    response = self._parser.read_response(disable_decoding=disable_decoding)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 318, in read_response
    raw = self._buffer.readline()
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 249, in readline
    self._read_from_socket()
  File "/Users/bob/opt/miniconda3/envs/redis_test/lib/python3.11/site-packages/redis/connection.py", line 195, in _read_from_socket
    raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR)
redis.exceptions.ConnectionError: Connection closed by server.

本地环境信息

# packages in environment at /Users/bob/opt/miniconda3/envs/redis_test:
redis-py                  4.4.0              pyhd8ed1ab_0    conda-forge
(redis_test) bob@Roberts-Mac-mini redis_test % python --version
Python 3.11.0

内容的提问来源于stack exchange,提问作者Robert Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:40:43