我在这里关注了这个线程:open redis port for remote connections(以及各种其他建议),试图使在我的 Ubuntu 14.04 LTS 上运行的 redis-server 可以从外部访问(即:在我的家庭网络之外)。然而,没有成功。
当我输入“sudo netstat -ntlp | grep LISTEN”时,我得到以下结果(即:redis-server 似乎正在按预期监听 0.0.0.0:6379):
tcp 0 0 127.0.0.1:6942 0.0.0.0:* LISTEN 2653/java
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 13325/redis-server
tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN 13759/adb
tcp 0 0 127.0.0.1:63342 0.0.0.0:* LISTEN 2653/java
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 2067/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1567/cupsd
tcp6 0 0 :::3689 :::* LISTEN 2483/rhythmbox
tcp6 0 0 ::1:631 :::* LISTEN 1567/cupsd
输入“sudo ufw status”会产生以下结果(即:防火墙已关闭):
Status: inactive
我使用“sudo service redis-server restart”重新启动服务器,它只输出以下内容(即:没有错误显示):
Stopping redis-server: redis-server.
Starting redis-server: redis-server.
当我使用“redis-cli -h IP-ADDRESS ping”时,我可以访问 redis 服务器(即:获取 PONG 作为响应),因为我使用了“localhost”、127.0.0.1 或 192.168.1.106 的 IP 地址(内部网络IP)。但是,当我使用我的外部/远程 IP 地址(通过谷歌搜索“我的 IP 地址”标识的地址)时出现错误,这给了我错误:
Could not connect to Redis at <Remote-IP>:6379: Connection refused
请注意,无论我的计算机是直接连接到互联网(没有路由器)还是通过设置了端口转发的路由器,我都面临同样的问题。
请注意,我在 apt-repository ppa:chris-lea/redis-server 中安装了最新的 redis-server。
非常感谢您的帮助和建议。