无法建立连接,因为目标机器主动拒绝连接
本文关键字:连接 机器 拒绝 目标机 因为 建立 目标 | 更新日期: 2023-09-27 18:18:17
我们最近将一个项目部署到生产环境中,当我们尝试连接到外部sftp机器时,现在收到这个错误消息,"无法连接,因为目标机器主动拒绝它"。当我开发和测试应用程序时,我们连接到这个服务器没有任何问题。
有什么不同?我有管理权限,而生产服务器上的应用程序池没有。我不确定这是否可能是导致问题的原因,或者它可能是外部客户端服务器上的东西或他们的防火墙阻止了我们。
如果使用localhost
,请指定127.0.0.1
。
当我使用SSH时。当指定主机为localhost
时,抛出主机主动拒绝连接WSAECONNREFUSED - 10061
的异常。当我指定127.0.0.1
时,可以进行连接。我认为这是由于在SSH实现。净:
internal static IPAddress GetIPAddress(this string host)
{
IPAddress ipAddress;
if (!IPAddress.TryParse(host, out ipAddress))
ipAddress = Dns.GetHostAddresses(host).First();
return ipAddress;
}
显然不能解析localhost
的有效主机名。c#交互式生成以下内容:
> Console.WriteLine(Dns.GetHostAddresses("localhost").First());
::1
值::1
似乎不是套接字使用的有效IP地址
这是一个标准TCP错误
WSAECONNREFUSED - 10061
从客户端的角度来看,这意味着"该地址没有套接字侦听该端口"("主动拒绝"是转移注意力)。
i)检查地址Ii)检查端口Iii)检查防火墙
根据我们丰富的经验(我们提供自己的网络组件),这是一个防火墙问题。防火墙不允许您的请求通过。这是一种常见的情况,当您运行Putty时,它可以工作,但您的代码不能。这是因为许多防火墙检测已知的应用程序并让它们通过,同时阻止其他应用程序。