我在 Azure 上创建了一个 Debian 9 VM,还安装了 MariaDB、PHPMyAdmin 和带有 pm2 的节点。为此,我在入站规则中设置了 HTTP 端口 80、MySQL 端口 3306 和 Redis 端口 6379。
当我尝试连接 Windows 客户端时,它拒绝连接或在代码中也拒绝连接,并且我收到“错误:Redis 连接到 [someIP]:6379 失败 - 连接 ETIMEDOUT [someIP]:6379”。当我将连接设置更改为我拥有的另一个 Redis 时,它确实可以工作,因此代码不应该存在问题。
简而言之:我应该检查什么才能确保从我的家庭网络到 Azure 上的 Redis 的连接成功。
答案1
我参考这个官方文件并在 Debian 9 上安装 redis。我可以将它与 VM 公共 IP 连接。
您应该启用 Redis 监听虚拟机的私有 IP。默认情况下,它监听本地主机。修改/etc/redis/6379.conf
如下:
bind <vm's private ip>
然后重新启动Redis systemctl restart redis_6379
。
检查 Linux 上的连接。
root@shui:~/redis-stable/utils# redis-cli -h 52.232.114.152
52.232.114.152:6379> set test HugeServer
OK
52.232.114.152:6379> get test
"HugeServer"
注意:你应该像这样在 NSG 上打开端口 6379截屏。