不确定实现目标的最佳方式......
我们在几台Web服务器上运行asp.net v3.5上的一些Web服务。他们都互相和公共互联网很好地交谈。
现在,我们希望将这些网络服务中的某些服务保持为“私有”状态,即使其无法访问公共互联网,同时让其他人可以访问。
AFAICS最简单的方法就是在不同的端口上运行私有服务,并将公共端口保留在端口80上。我们的防火墙只允许通过端口80访问互联网,因此会丢弃从互联网到私有的任何请求网页服务。排序......我想?
这个想法是一个合理的解决方案吗?或者,我应该使用一些简单的IIS机制吗?
由于
SAL
答案 0 :(得分:2)
您可以通过IIS控制面板(目录安全性选项卡)中的黑名单/白名单来限制对站点的访问。这就是我过去用IP地址过滤所做的事情。
答案 1 :(得分:1)
您可以将IP访问限制放在您想要的任何网站/应用上。我们有几个internal
Web服务,仅允许访问10.x.x.x范围。
答案 2 :(得分:1)
AFAICS最简单的方法是 只需运行私人服务 一个不同的港口,并保持公众 端口80上的。我们的防火墙 允许通过端口80访问互联网 会放弃任何请求 互联网到私人网络服务。
这正是我们采取的方法。我们还有一个VPN,以便员工可以在远程工作时访问该网站。
答案 3 :(得分:1)
这实际上取决于您希望内部Web服务的安全性。
如果您在内部Web服务上有敏感数据,则需要将它们放在完全不同的服务器上,即使您不允许通过为其分配不同的端口来从外部访问它们。
但是,如果您没有敏感数据的问题,那么为内部和外部用户分配不同的端口或IP地址是一个很好的方法。
答案 4 :(得分:0)
除端口外,您还可以使用限制来调用(例如,使用IP地址过滤)。
此外,您实际上可能需要对Web服务的调用者进行身份验证,如果您使用ActiveDirectory,这应该很容易配置。
在任何情况下,如果你有一个私有的“公共”网络服务,你可能想要“发布”它两次:一次是公开的(有好的外部URL),一次是内部的,所以你的另一个内部服务和/或客户不必通过“外部”URL。然后,您可以为同一服务的不同发布者配置不同的限制(客户端IP,身份验证,...)。