让 Web 应用程序随处可访问

让 Web 应用程序随处可访问

我们已经为客户在 ASP.net MVC 中开发了一个 Web 应用程序,该应用程序托管在他们的本地主机上,也就是说18.18.18.100/portal。这是一个私有 IP 地址。

但是我的客户想让这个应用程序在互联网上访问。他们希望从不同的计算机访问它,就像我们访问任何其他网站一样,只需在18.18.18.100/portal浏览器中输入即可。

我们对此还很陌生,我们怎样才能做到这一点?

PS:我们无法在 Microsoft Azure 上托管此应用程序,因为该公司不希望共享其数据。他们希望将数据和数据库保存在自己的服务器上,但希望从任何远程位置访问它。

如果您需要更多详细信息,请告诉我。我会编辑帖子。

答案1

使内部应用程序在互联网上可用的一种常见方法是安装反向代理例如 Nginx 变成合适的非军事区

DMZ 基本上是网络的一部分,用作安全内部网络和不安全的公共互联网之间的缓冲区。互联网/DMZ 和 DMZ/内部网络之间的点具有安全性,包括防火墙和其他技术,例如IPS 和 IDS

反向代理基本上是一个中间人,它接受对另一台服务器的请求并将其传递。

鉴于您的问题所显示的理解水平,我强烈建议您找一家合格的公司或顾问为您做这件事。如果做得不正确,可能会大大增加安全风险。

答案2

只是为了扩展 Tim 所说的内容,您正在考虑的是托管 Web 应用程序服务器。通常,您将需要以下内容:

  1. Web 应用程序服务器
  2. 路由器/防火墙/IPS
  3. 至少 1 个公共 IP 地址

您要做的是直接将公共 IP 地址分配给 Web 应用程序服务器(如果您有多个公共 IP 地址),或者如果您没有任何可用的(当前未使用的)公共 IP 地址,则您可以在防火墙上创建网络地址转换 (NAT) 规则,以将发送到防火墙的流量重定向到 Web 应用程序服务器。例如,假设您有一个分配了私有 IP 地址 192.168.0.80 的 Web 应用程序防火墙。您的防火墙有一个公共 IP 地址 1.2.3.4。Web 应用程序防火墙在 TCP 端口 80 上运行 Web 服务器。

因此,您需要在防火墙上制定一条 NAT 规则,规定外部接口上到 1.2.3.4:80 的入站流量将在内部接口上转换为 192.168.1.80:80。

就其工作原理而言,就是这样。但在执行此操作之前,您需要确保已实施适当的安全措施。这包括(但当然不限于)将 Web 应用程序服务器放置在非军事区 (DMZ) 中,创建访问控制列表 (ACL),将往返于 Web 应用程序服务器的流量限制为您应该被允许的流量,入侵防御系统 (IPS) 以阻止流向您的 Web 应用程序服务器的不良流量,其他典型的安全措施(例如补丁管理、防病毒、反恶意软件、操作系统强化等)以及您的环境的任何特殊安全要求。

您询问的任务很典型,但并不简单。您需要确保在执行客户要求的任务之前知道如何安全地执行任务,这样您就不会将他们的数据泄露给不应访问的人。

相关内容