代码之家  ›  专栏  ›  技术社区  ›  SAL

保持某些Web服务的私有化和其他公共化

  •  1
  • SAL  · 技术社区  · 15 年前

    不确定实现某个目标的最佳方式…

    我们在几个Web服务器上的ASP.NET v3.5上运行了许多Web服务。他们都能很好地与对方和公共互联网交谈。

    现在,我们想让这些网络服务中的一些“私有”,也就是说让它们不能在公共互联网上使用,而让其他服务可以访问。

    要做到这一点,最简单的方法就是在另一个端口上运行私有服务,并将公共服务保留在端口80上。我们的防火墙只允许通过端口80访问互联网,因此会将来自互联网的任何请求丢弃到私人Web服务。排序…我想?

    这个想法是合理的解决方案吗?还是有一些简单的IIS机制我应该使用?

    谢谢

    萨尔

    5 回复  |  直到 15 年前
        1
  •  1
  •   Jason Baker    15 年前

    最简单的方法是 只需在上运行私人服务 一个不同的港口和保持公众 端口80上的一个。仅我们的防火墙 允许通过端口80访问互联网,因此 将删除来自 互联网到私人网络服务。

    这正是我们所采取的方法。我们还有一个VPN,这样员工在远程工作时就可以访问这个网站。

        2
  •  2
  •   flatline    15 年前

    您可以通过IIS控制面板(目录安全选项卡)中的黑名单/白名单限制对网站的访问。这就是我过去所做的按IP地址过滤的工作。

        3
  •  1
  •   Lloyd    15 年前

    您可以对任何站点/应用程序设置IP访问限制。我们有几个 internal 例如,只允许访问10.x.x.x范围的Web服务。

        4
  •  1
  •   AaronS    15 年前

    这实际上取决于您想要内部Web服务的安全性。

    如果您在内部Web服务上有敏感数据,则需要将它们放在完全不同的服务器上,即使您不允许通过为它们分配不同的端口从外部访问它们。

    但是,如果您对敏感数据没有问题,那么为内部和外部用户分配一个不同的端口或IP地址是一个很好的方法。

        5
  •  0
  •   van    15 年前

    除了端口之外,您还可以对调用者使用限制(例如,使用IP地址过滤)。

    此外,您实际上还需要对Web服务调用方进行身份验证,如果您使用ActiveDirectory,那么应该很容易对其进行配置。

    在任何情况下,如果您有一个“公共”Web服务,它也是私有的,那么您可能需要“发布”它两次:一次是公共的(具有良好的外部URL),一次是内部的,这样您的其他内部服务和/或客户机就不必通过“外部”URL。然后,您可以为同一服务的不同发布者配置不同的限制(客户端IP、身份验证等)。