【问题标题】:Unable to access a locally hosted wcf service over the internet无法通过 Internet 访问本地托管的 wcf 服务
【发布时间】:2013-06-24 14:22:13
【问题描述】:

我在我们的办公机器上托管了一个 wcf 服务,并且可以从 LAN 中的其他电脑访问。我们的办公室有静态IP。那么如果我知道我们办公室的静态 IP,我如何从办公室外面访问我的 wcf 服务。

现在我正在使用这个 url http://192.168.6.2:7741/Services/CustomerService 从局域网访问服务

如果我们的办公室静态 ip 是 122.160.187.236 那么我可以访问我的服务只需将 ip 地址替换为静态 ip 地址吗?请告诉我所有通过 Internet 访问 wcf 服务所需的步骤。谢谢

【问题讨论】:

    标签: wcf


    【解决方案1】:

    您需要将路由器上的端口 7741 转发到 192.168.6.2 IP 地址。

    您必须请有权访问路由器的人来执行此操作。 不确定您的环境是什么样的,但在您的通用路由器上,这些设置通常属于“高级设置> NAT

    查看http://portforward.com/ 了解有关端口转发的信息。

    此外,如果您有防火墙,则需要确保允许通过端口 7741 的流量。

    这可能是实现您想要的最快的方法,但不是最安全的。建立一个VPN会更好,但我现在不打算打开那罐蠕虫。

    尼尔

    【讨论】:

    • 我需要使用哪个 url 从外部访问 wcf 服务。那我的网址会怎样?谢谢
    • 如果你转发了你的端口,它看起来像这样:122.160.187.236:7741/Services/CustomerService - 你用你的公共 IP 替换本地 IP,路由器就会知道将流量发送到正确的本地 IP
    • 所以你的意思是只做端口转发我可以从外面访问我的服务....不需要其他配置?
    • 你应该能够做到,除非你有一个带有代理和防火墙等的复杂网络。你的网络管理员应该知道该怎么做,尽管大公司可能有一些政策可能会延迟这个过程。跨度>
    • 关于端口转发的另一个问题。许多工具可免费用于通过进入路由器设置转发端口。是否真的可以通过任何工具在网络中从我的电脑转发端口。也有很多 c# 库可用。一个在 codeproject.com 中称为 barbara tunnel。
    【解决方案2】:

    如果您想从外部访问您的机器,仅知道网络的 IP 是不够的。可能您应该与网络管理员联系以建立虚拟专用网络或为您的机器分配外部 IP 地址。实际上这个问题主要与网络管理和配置有关,但与 WCF 无关。

    【讨论】:

    • 您说:- 为您的机器分配外部 IP 地址。这对我来说不清楚你想说什么为你的机器分配外部 IP 地址。你能详细讨论一下吗。谢谢
    【解决方案3】:

    如果您想从 LAN 外部访问您的 WCF 服务,您需要在 Internet 上分配一个 DNS 服务器,该服务器可以为您分配一个公共静态 IP 地址,因为您的 LAN 很可能使用DHCP 租用一个临时的静态私有 IP 地址。有些 DNS 服务器是免费的,有些则需要按月付费。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-20
      • 2012-02-22
      • 2013-12-10
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2023-03-11
      相关资源
      最近更新 更多