允许 WCF udpDiscoveryEndpoint 通过防火墙
Allowing WCF udpDiscoveryEndpoint though firewall
我有一个使用 basicHttpBinding 端点的 WCF Windows 服务,监听 TCP/12345。我已经添加了一个 udpDiscoveryEndpoint,并且可以在本地发现服务没有问题。
<services>
<service name="BigBadCompany.Delivery.DeliveryService" behaviorConfiguration="DeliveryServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://*:12345/Delivery/service"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="BigBadCompany.Delivery.IDelivery" bindingConfiguration="DeliveryServiceBinding"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint kind="udpDiscoveryEndpoint" />
</service>
</services>
为了让它在本地子网上发现整个网络,我需要添加防火墙规则以允许流量。如果我允许所有 UDP 流量,我只能让它工作。如果我将规则仅限于我的服务,发现就会中断。我还尝试将它限制在一个端口(没有充分的理由我猜它可能与 TCP 端口相同,我找不到关于 UDP 广播使用哪个端口的任何信息)它也停止了。
仅允许 udpDiscoveryEndpoint 流量而不打开所有入站 UDP 端口的适当防火墙规则是什么?
您应该只为端口 3702 添加例外。在此处查看更多内容:
https://msdn.microsoft.com/en-us/library/dd352335.aspx
--编辑--
URL已过期;这是备份:
https://web.archive.org/web/20161111140652/https://msdn.microsoft.com/en-us/library/dd352335.aspx
我有一个使用 basicHttpBinding 端点的 WCF Windows 服务,监听 TCP/12345。我已经添加了一个 udpDiscoveryEndpoint,并且可以在本地发现服务没有问题。
<services>
<service name="BigBadCompany.Delivery.DeliveryService" behaviorConfiguration="DeliveryServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://*:12345/Delivery/service"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="BigBadCompany.Delivery.IDelivery" bindingConfiguration="DeliveryServiceBinding"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint kind="udpDiscoveryEndpoint" />
</service>
</services>
为了让它在本地子网上发现整个网络,我需要添加防火墙规则以允许流量。如果我允许所有 UDP 流量,我只能让它工作。如果我将规则仅限于我的服务,发现就会中断。我还尝试将它限制在一个端口(没有充分的理由我猜它可能与 TCP 端口相同,我找不到关于 UDP 广播使用哪个端口的任何信息)它也停止了。
仅允许 udpDiscoveryEndpoint 流量而不打开所有入站 UDP 端口的适当防火墙规则是什么?
您应该只为端口 3702 添加例外。在此处查看更多内容:
https://msdn.microsoft.com/en-us/library/dd352335.aspx
--编辑--
URL已过期;这是备份:
https://web.archive.org/web/20161111140652/https://msdn.microsoft.com/en-us/library/dd352335.aspx