【问题标题】:Silverlight calling webapi behind firewallSilverlight 在防火墙后调用 webapi
【发布时间】:2015-05-12 21:10:32
【问题描述】:

Silverlight 应用程序位于可从 Internet 访问的服务器上,而 WebApi 位于防火墙后面的服务器上,该服务器无法通过 Internet 访问,但可以通过 Intranet 访问。 Silverlight Application Server 和 WebApi Server 都可以在内网通信。从 Internet 访问的 Silverlight 应用程序是否可以与 WebApi 对话?

【问题讨论】:

  • 是的,有可能。那么有什么问题呢?
  • 我该如何设置才能让它工作?因为现在防火墙正在阻止 webapi 调用,因为 webapi 服务器位于防火墙后面,并且该服务器不应该对互联网开放。我们如何在不打开 WebApi 服务器中的任何防火墙端口的情况下让 silverlight 客户端应用程序与 webapi 通信。
  • @JotaBe 有任何文档或链接可以指导我吗?
  • 您面临的具体问题是什么?
  • 在对互联网开放的服务器中有一个 Silverlight 应用程序我们称之为绿色服务器 在对互联网关闭的服务器中有一个 WebAPI(公司以外的任何人都不能访问它)我们称之为红色服务器。从公司外部访问 silverlight 应用程序的用户如何访问 WebAPI 以获取数据。对我来说,看起来我们必须将 WebAPI 移动到 Green Server,并且由于 WebAPI 使用 Windows 凭据与 SQL Server 对话,因此没有安全问题。我们不希望在两者之间有任何代理

标签: silverlight asp.net-web-api asp.net-web-api2 silverlight-5.0


【解决方案1】:

您只需添加一个防火墙规则,允许 Green Server 在给定端口访问 Red Server。您可以添加 MAC 过滤器、IP 过滤器、在 Red Server 的不同子网中使用临时 IP、在不寻常的端口(不是 80)中公开 API、使用客户端证书、通过 SSL 公开 API 以及许多其他事情保护防火墙内的服务器和服务器之间的通信。

这就是防火墙的使命。如果没有,您只是没有通过防火墙连接网络。

【讨论】:

  • 是的,如果它在 Intranet 中会起作用,但我们谈论的是互联网,silverlight 是客户端应用程序。所以基本上整个应用程序加载到客户端,并尝试调用 webapi。在这种情况下正确放置 Mac 过滤器或将 webapi 放在防火墙后面(受限制的 Intranet 服务器)是没有用的。我在这里错过了什么吗?你能说清楚吗,因为运行数据包分析器说 Silverlight 完全是客户端。
  • “服务器中有一个 Silverlight 应用程序”让我觉得服务器有某种逻辑暴露给 Silverlight 客户端。在这种情况下,我会将该服务器置于防火墙之外,并通过防火墙与 SQL Server 进行通信。但是,您的客户端应用程序似乎直接与 SQL Server 对话。将 SQL Server 打开到 Internet 比打开 Web 服务器通过受控端点公开功能要危险得多。但是,在您的情况下,似乎没有其他方法可以确保您的应用程序安全,但如果客户端在您的控制之下,则需要使用 VLAN
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 2014-02-23
  • 2017-05-07
  • 2019-11-10
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多