我想知道为什么Windows Azure服务总线要通过NAT、防火墙和代理来工作。微软经常提到这一事实,但他们并没有提到为什么会这样。
我认为每个参与者都会发起连接,好吧,但这还不够。他们是否“滥用”了一些开放的端口,80?
谢谢
发布于 2012-02-28 22:28:35
没有运行Wireshark来确定,我猜是因为客户端(在nat/防火墙之后)发起连接,并保持呼叫服务器(始终打开)以获取更多信息。
让我们解释更多:因为它在windows套接字(以及其他套接字系统)中的工作方式略有不同:
<代码>H19这是要写入nat /防火墙盒上的nat表中的内容,并将允许C <-> S<代码><代码>G211之间的通信
发布于 2012-02-29 10:05:47
如果可能,服务总线将尝试使用9350 - 9353端口进行TCP连接,以获得更好的性能。如果失败,它将尝试使用80和443。因为在大多数情况下,防火墙不会阻止80和443,所以您的本地服务可以连接到sb://xxxx/ over 80/443,而无需对防火墙进行任何更改。然后,如果客户端调用了您的服务,它将首先访问sb://xxxx/,然后服务总线将通过80/443将请求转发到您的机器,然后您将回复发送回服务总线,它将回复转发回客户端。
这就是服务远程处理模式。如果您正在使用事件模式,请执行类似的步骤。
发布于 2012-02-28 22:21:44
原因很简单,因为每个连接都在出站中,而服务总线充当“转发器”。
https://stackoverflow.com/questions/9483428
复制相似问题