几天来,我一直在与Redis进行远程连接。终于我做到了。这是我整理并遵循的完整检查清单。上面的答案中给出了一些解决方案。但是我希望我的回答是关于这个主题的纳米维基:)我也添加了一些有用的链接。
如果redis在本地可用:
$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>
如果未设置密码
请参阅/etc/redis/redis.conf
config(这是Ubuntu 18.04的默认位置,您可以将其放在其他位置):
# The following line should be commented
# requirepass <some pass if any>
如果在配置中将保护模式设置为“否”:
# The following line should be uncommented
protected-mode no
如果在配置中打开了IP绑定以便从Internet访问:
# The following line should be commented
# bind 127.0.0.1 ::1
如果Linux防火墙允许连接
(对于Ubuntu 18.04,在此处)检查是否允许传入的互联网流量进入端口6379
(Redis默认端口)
# To check if it the port is open
$ sudo ufw status
Status: active
To Action From
-- ------ ----
...
6379/tcp ALLOW Anywhere
6379/tcp (v6) ALLOW Anywhere (v6)
...
# To open the port
$ sudo ufw allow 6379/tcp
重新启动Redis服务
不要忘记重启Redis服务以使更改生效并看到它正在运行:
$ sudo systemctl restart redis.service
$ sudo systemctl status redis
检查它是否可以作为远程服务器
从命令行使用redis-cli
,就像Redis服务器在远程服务器上一样:
$ redis-cli -h <your-server-ip>
<your-server-ip>:6379> ping
PONG
<your-server-ip>:6379> exit
$
如果您可以通过作为远程服务器连接的Internet服务器对您的Redis服务器执行ping-PONG操作,则远程Redis连接将起作用。
安全警告
以上所有内容使您的Redis数据对互联网上的任何人都完全开放。
要基本保护Redis的使用requirepass
和protected-mode yes
Redis config中的设置(请参阅上文)并阻止危险的Redis命令(请参阅上面的链接),如需更深入的了解,请参阅本文和Redis站点安全性部分)。
有用的链接
一些帮助的链接如何在Ubuntu 18.04上安装和保护Redis以及如何设置Ubuntu 18.04防火墙。
希望能帮助到你。
redis-cli -h hostname