允许WCF udpDiscoveryEndpoint通过防火墙

时间:2017-03-27 08:56:48

标签: wcf service-discovery

我有一个使用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广播使用的端口的任何信息),它也会停止。

在不打开所有UDP端口入站的情况下,仅允许udpDiscoveryEndpoint流量的适当防火墙规则是什么?

1 个答案:

答案 0 :(得分:0)

您应该只为端口3702添加例外。请点击此处:

https://msdn.microsoft.com/en-us/library/dd352335.aspx

<强> - 编辑 -

网址已过期;这是备份:

https://web.archive.org/web/20161111140652/https://msdn.microsoft.com/en-us/library/dd352335.aspx