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

Azure Redis Cache连接被拒绝:托管Web服务器PHP脚本连接故障排查

问题描述

尝试从托管Web服务器连接Azure Redis Cache,使用的PHP脚本如下:

<?php

$redisHost = 'yyy.redis.cache.windows.net';
$redisPort = 6379;

$redis = new Redis();

try {
    $redis->connect($redisHost, $redisPort);
    $redis->auth('xxx');
    echo 'Connected to Redis successfully!';
} catch (Exception $e) {
    echo 'Failed to connect to Redis. Error: ' . $e->getMessage();
}
?>

已通过phpinfo()确认服务器启用了redis扩展,但执行脚本时提示Connection refused。已确认主机地址、认证信息无误,Azure Redis Cache实例正常运行且已启用非SSL端口6379,询问还有哪些可能的问题?

可能的问题及排查方向
  • 托管服务器防火墙/安全组限制:托管Web服务器的出站规则可能未允许访问6379端口,需检查服务器所在的防火墙或云服务商安全组,确保出站流量能到达Azure Redis的6379端口。
  • Azure Redis的防火墙规则未放行服务器IP:Azure Redis Cache默认限制IP访问,即使实例正常运行,也需要在Azure门户的Redis实例防火墙设置中,将托管Web服务器的公网IP添加到允许列表,否则会被拒绝连接。
  • PHP Redis扩展版本兼容性问题:部分旧版本的PHP Redis扩展可能与Azure Redis Cache的协议不兼容,尝试更新到较新的稳定版本再测试。
  • 网络路由问题:托管服务器到Azure Redis的网络路径存在阻断,比如运营商网络的路由限制,可在服务器上用telnet yyy.redis.cache.windows.net 6379或nc -zv yyy.redis.cache.windows.net 6379命令测试端口连通性,确认是否能建立TCP连接。
  • 非SSL端口配置未生效:虽然已启用非SSL端口,但可能配置未同步生效,建议在Azure门户重新确认6379端口的启用状态,必要时重启Redis实例确保配置生效。
  • DNS解析问题:托管服务器无法正确解析Redis主机地址yyy.redis.cache.windows.net,可在服务器上执行nslookup yyy.redis.cache.windows.net检查解析结果是否正确,若解析异常,需检查服务器的DNS设置。

内容的提问来源于stack exchange,提问作者tw-S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:45:05