新手尝试部署 Asp.Net 网站

Posted

技术标签:

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

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

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

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

安德鲁

【问题讨论】:

【参考方案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

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

【讨论】:

以上是关于新手尝试部署 Asp.Net 网站的主要内容,如果未能解决你的问题,请参考以下文章

IIS - 部署 ASP.NET 网站和数据库连接

在构建后事件中使用命令部署 asp.net mvc 网站

ASP.NET MVC教程三:ASP.NET MVC部署方式

如何将c#做好的asp.net网站部署到iis上

ASP.NET MVC 中的项目布局和站点结构

Linux系统(ubuntu)部署Asp.Net Core网站