【问题标题】:Newbie Trying To Deploy Asp.Net Website新手尝试部署 Asp.Net 网站
【发布时间】:2011-04-08 23:07:46
【问题描述】:

我基本上想知道部署 Asp.Net 网站的最佳方式是什么,主要是从安全的角度来看。现在,我正在尝试使用 Visual Studio 2010 发布网站。有人可以指导我学习如何安全地执行此操作的好教程吗?例如,是否可以通过 Visual Studio 通过加密连接完成?是否需要在服务器上安装任何软件才能做到这一点?我应该先使用不同的程序打开 SSL (TLS) 连接吗?如果是,哪个程序(它是 windows 的标准配置)?

服务器运行 Windows Server 2008。开发在 Vista 上。

非常感谢您在此问题上的任何指导!

安德鲁

【问题讨论】:

    标签: asp.net security visual-studio-2010 web publish


    【解决方案1】:

    我会将站点发布到您的本地计算机并将文件复制到您的测试/生产环境。作为一项规则,我们不会直接从 VS 发布站点以进行测试或生产。

    例如,您不想不小心将开发中的内容直接推送到实时环境中吗?

    就文件传输安全而言,您可以使用 SFTP。

    【讨论】:

    • 谢谢迪特!这是在部署之前发布本地副本的一个好点。我还没有完全想到该怎么做。感谢您的回复!
    【解决方案2】:

    注意:首先要与服务器的所有者核实,因为他们通常会为您提供 FTP 连接并负责配置 IIS。

    如果您想增加安全性,创建一个密钥文件并签署您的程序集并考虑在您的 dll 上运行 Dotfuscator,Visual Studio 中包含社区版。这是一个较早的问题,我在Dotfuscator 上提供了更多信息。

    如果您必须自己进行部署,请考虑以下几点。

    • XCopy(简单)
    • MSI(必须创建安装程序,您可以在 Visual Studio 中轻松完成)

    使用 Visual Studio 进行部署没有安全优势,但您可以使用 Visual Studio 创建一个小型安装程序。您要确保安全的一件事是不要部署任何 .cs 文件。准备好你的文件,你应该在发布模式下编译,确保你的配置文件中没有启用调试,保留你的 bin 和它的 dll,还有 aspx、asmx、ascx、svc、css、js 和配置文件。

    • XCopy:安装一个小型 FTP 服务器,或使用您公司已有的服务器,这将允许您在登录到目标计算机后获取文件。您应该能够获得目标机器的管理员帐户,只需询问域的系统管理员,然后使用远程桌面登录,进入您的 ftp 站点,并下载您的文件。在目标机器上打开 IIS,创建一个虚拟目录和一个池。将文件复制到该位置,将连接字符串配置到数据库(如果使用),然后测试您的网站。
    • MSI:与上述过程相同,但安装程序将为您创建虚拟目录和池。

    这里是来自官方ASP.Net website 的最佳实践的额外信息。

    【讨论】:

    • 感谢您的回复!你的回答真的很详细也很有帮助,所以我必须将其标记为正确:)好主意!
    【解决方案3】:

    如果您对服务器有一定的控制权(例如配置 IIS7),您可能需要查看 Microsoft Web Deploy(新产品刚刚发布):

    http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx

    我自己没有尝试过,但看起来很漂亮,而且它显然会加密正在复制的数据,所以可能适合你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多