SocketException:无法建立连接,因为目标机器主动拒绝它 XX.XXX.XX.XXX:443

Posted

技术标签:

【中文标题】SocketException:无法建立连接,因为目标机器主动拒绝它 XX.XXX.XX.XXX:443【英文标题】:SocketException: No connection could be made because the target machine actively refused it XX.XXX.XX.XXX:443 【发布时间】:2015-08-19 10:41:02 【问题描述】:

我有 2 台服务器,其中托管了两个相同的 wcf 服务和一个客户端应用程序服务器。我可以使用本地计算机上的测试wcf client app (.NET Web Service Studio) 成功连接到端点并向这两个服务发送请求。但是当我尝试使用相同的测试wcf client app 从客户端应用程序服务器进行连接时,我只成功连接到了一个 wcf 服务服务器,但在连接到另一台时出现错误:

System.Net.WebException:下载“https://XXX/XXX?wsdl”时出错。 ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 无法建立连接,因为目标机器主动拒绝了它 XX.XXX.XX.XXX:443

我在客户端服务器和本地计算机上的命令提示符下执行了netstat -an | find "443" 命令,以找出区别以及我得到的结果:

1.在我的本地机器上:

2。在客户端应用服务器上:

我已经尝试在客户端应用服务器上做的是: - 关闭防火墙; - 停止 Windows 防火墙服务 - 卸载 mcafee virusscan 企业应用程序。 (我尝试先设置"prevent mass mailing worms from send mail",但是mcafee是外文看不懂,所以我就卸载了)

运行命令后 netstat -aon | findstr "443" 在客户端应用服务器上我得到了这个结果:

但我仍然遇到错误。 有人知道如何解决这个问题吗? 可能是wcf服务服务器端的问题?

【问题讨论】:

使用 aon 而不是 an 运行。然后检查它是否是一个错误的进程钩到端口 443 而不是期望的。 感谢您的帮助。我使用-aon 执行了该操作。我用这个结果更新了我的问题。出现另一列数字。它是进程 id 吗?但似乎没有应用程序使用端口 443。我打开一个任务管理器,发现 2516 pid 属于 DNS 服务器。 【参考方案1】:

解决方案很简单——防火墙阻止了端口, 但重要的是要注意该问题是由 wcf 服务服务器端的防火墙引起的,而不是由向该服务发出请求的客户端应用程序服务器引起的。 我询问了该服务器的技术支持,他们对防火墙进行了更改。 之后那个错误就消失了。

【讨论】:

【参考方案2】:

我遇到了同样的问题并尝试了不同的方法来解决这个问题。没有任何效果。后来我发现问题是,我尝试运行的应用程序是 https,而在我的 IIS 中,没有创建 https 绑定。我创建了与网站绑定的 https,它可以工作。

【讨论】:

以上是关于SocketException:无法建立连接,因为目标机器主动拒绝它 XX.XXX.XX.XXX:443的主要内容,如果未能解决你的问题,请参考以下文章

随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方

System.Net.Sockets.SocketException (10060):连接尝试失败,因为连接方在一段时间后没有正确响应

AIX:IBM Java:java.net.SocketException:连接超时:可能是由于地址无效

System.Net.Sockets.SocketException

一次SocketException:Connection reset 异常排查

java.net.SocketException:软件导致连接中止:recv 失败 [重复]