【问题标题】:Intranet Website Deployment, is this method sufficient?内网网站部署,这种方法够用吗?
【发布时间】:2019-08-04 14:42:50
【问题描述】:

我现在有一个工作网站,我已使用 Visual Studio 2013 在我的本地计算机上部署到 IIS。我可以从我办公室和邻近办公室的其他计算机成功访问该网站。我什至让其他人检查了来自地理位置偏远的位置的访问,并且仍然成功。访问方法是把我的机器的IP地址和应用程序的名称###.###.###.###\name添加到浏览器的地址栏中。

下一步是将其推广到生产中。我们没有使用 Azure,所以我发现的推广到生产的教程没有用,我们也没有使用 3rd 第三方提供商。

我设想的方法如下:

  • 让管理员直接登录公司服务器
    • 安装数据库软件
    • 安装 Visual Studio
    • 安装 IIS
    • 将本地机器的数据库复制到服务器数据库
    • 将本地部署的文件复制到服务器
  • 管理员登录到 Visual Studio

    • 在服务器上部署站点的方式与在本地计算机上部署站点的方式相同
  • 使用服务器 IP 或更新所有联网计算机上的主机文件以将 IP 映射到适当的名称(或者本地网络有我们可以更新的本地 DNS)

这将允许我有一个 DEV 环境(VS IDE)、一个 TEST 环境(本地部署的版本)和一个 PROD 环境(部署在服务器上的版本)。

我看不出这不起作用的任何原因,可能有点乏味,但可行。

这个方法可以吗?我错过了什么重要的东西吗?

【问题讨论】:

  • 这不是 StackOverflow 类型的问题。 serverfault.com 可能更适合这类问题。
  • @bob0the0mighty 我已经把它贴在那里了。根据其中一位评论员对该问题的建议,我删除了一个带有答案的问题,它给了我一个警告,即频繁删除带有答案的问题可能会阻止我提出更多问题。我应该让管理员删除这个问题,还是让下面的 TempScripter 先删除他的答案并自己删除问题?
  • 我的理解是留下它应该没问题,如果一个模组认为它现在应该被删除,因为它有答案,他们会处理它。

标签: asp.net web-applications web-deployment


【解决方案1】:

不,这是将构建推送到生产环境的完全不合适的方式。

您的源代码应存储在源代码存储库中。您应该有一个从存储库中提取的自动化、持续的构建服务器,并在一个本身受变更控制的专用环境中完成构建。构建应包括安装文件的生成,例如click-once deployment package。从那里您可以让管理员运行部署包,或者,理想情况下,您可以使用 Octopus 之类的工具自动推送它。

老实说,以上是商业网站的最低要求。您可以做更多的事情来使事情变得更加健壮,例如blue-green deployment.

请注意,这些都不涉及在您的服务器上安装 Visual Studio 等开发工具。服务器应尽可能保持清洁,运行所需的应用程序最少,以最大限度地减少任何类型的攻击面并保持机器高效运行。

【讨论】:

  • 根据您的回答,我已经深入研究了 VisualStudio 2013 的功能。如果我在服务器上安装了 IIS 以及 Web 部署,并且我可以使用 VisualStudio 发布网站向导从我的桌面连接到服务器,这是否与您的单击一次部署相匹配?
  • 大概,MySQL(或其他)数据库应用程序要么是您的“最少的应用程序”之一,要么您会让它在不同的服务器上运行,如果它对一个小项目很重要的话。
【解决方案2】:

不要输入您的机器 IP,反编译器可以获取它并暴力破解您的 IP 以远程访问您的机器。

【讨论】:

  • 如果唯一可以访问 Intranet 的是公司内部并且 IP 是“本地”ipv4 IP 地址,那么威胁有多大?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
相关资源
最近更新 更多