我们已经为客户在 ASP.net MVC 中开发了一个 Web 应用程序,该应用程序托管在他们的本地主机上,也就是说18.18.18.100/portal
。这是一个私有 IP 地址。
但是我的客户想让这个应用程序在互联网上访问。他们希望从不同的计算机访问它,就像我们访问任何其他网站一样,只需在18.18.18.100/portal
浏览器中输入即可。
我们对此还很陌生,我们怎样才能做到这一点?
PS:我们无法在 Microsoft Azure 上托管此应用程序,因为该公司不希望共享其数据。他们希望将数据和数据库保存在自己的服务器上,但希望从任何远程位置访问它。
如果您需要更多详细信息,请告诉我。我会编辑帖子。
答案1
答案2
只是为了扩展 Tim 所说的内容,您正在考虑的是托管 Web 应用程序服务器。通常,您将需要以下内容:
- Web 应用程序服务器
- 路由器/防火墙/IPS
- 至少 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 应用程序服务器的不良流量,其他典型的安全措施(例如补丁管理、防病毒、反恶意软件、操作系统强化等)以及您的环境的任何特殊安全要求。
您询问的任务很典型,但并不简单。您需要确保在执行客户要求的任务之前知道如何安全地执行任务,这样您就不会将他们的数据泄露给不应访问的人。