【问题标题】:Recommended installation location for ASP.NET Core web appsASP.NET Core Web 应用的推荐安装位置
【发布时间】:2018-02-02 23:05:37
【问题描述】:

我开发了一个 ASP.NET Core Web 应用程序,我想将它添加到已经包含多个桌面工具的 Windows Installer 程序包中。 Web 应用程序是自包含的,当然包含许多文件。出于这个原因,我压缩了所有文件,安装程序只会将 zip 文件放在安装目录中(至少这是我当前的解决方案)。现在我想指示安装 Web 应用程序的人员提取 zip 文件,然后相应地配置 IIS 以运行 Web 应用程序。问题是:

网络应用应该解压到哪个目录?

立即想到两个选项:

c:\inetpub\wwwroot\MyWebApp

c:\Program Files\MyCompany\MySoftwarePackage\MyWebApp

对这个选择有什么建议吗?

我不确定是否有特殊考虑 关于 ASP.NET Core 和 IIS 仅 充当反向代理。

【问题讨论】:

    标签: iis asp.net-core windows-installer


    【解决方案1】:

    您对C:\inetpub 的直观猜测接近最佳答案。

    从需要维护已安装您的软件包的系统的管理员的角度来看。这位管理员可能是个多面手,会在常规位置寻找东西。

    由于 IIS Web 应用程序已默认安装在 C:\inetpub 中,这将是大多数管理员希望首先查看的位置。

    此外,IIS 已获准从 inetpub 运行。这种全面的安全允许意味着系统的任何安全应用程序或限制都将专注于保护系统免受从此文件夹中运行的应用程序的影响。

    但是,不要使用 wwwroot,因为 IIS 的默认配置允许在对服务器的任何未绑定端口 80 请求上浏览此文件夹。恶意人员需要知道文件的确切路径,但这仍然是一个漏洞。

    c:\inetput\myWebApp\c:\inetput\myWebApp-80 或类似的东西是正确的选择。

    【讨论】:

    • 我不同意。我倾向于选择 [ProgramFilesFolder]Company\Product\WebSites\WebSite,管理员可以通过查看添加/删除程序中的安装位置以及显示 website/app/vdir 的文档目录指向的 IIS 管理控制台来确定这一点回到那里。多年来我一直这样做,没有人抱怨过。我还没有安装 Microsoft 的产品,例如直接安装到 c:\inetpub 的 TFS。
    【解决方案2】:

    这注定会因固执己见而被关闭,因为坦率地说,没有正确的答案。 IIS 可以从任何地方运行 Web 应用程序;没关系。它必须只具有访问该目录的权限,默认情况下该目录为inetpub,因为 IIS 基本上拥有该目录,但必须为任何其他位置添加该目录。但是,创建站点并将其链接到目录也会添加必要的权限,因此无论如何它都非常无缝。多空选择您喜欢的任何东西,或者您可以完全由最终用户决定(这实际上可能是最好的选择)。

    【讨论】:

    • 嗯,我不认为这是固执己见,因为我实际上是在寻找指导方针或最佳实践。微软已经给出了许多其他文件系统位置的指导方针,Linux 对软件、配置、日志等的位置有非常明确的规则。但如果真的没关系,就像你说的那样,那就是一个答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    相关资源
    最近更新 更多