按照 DotNetNuke 文档中的建议,从 UNC 共享运行 IIS Web 应用程序有什么不好?

发布于 2024-11-19 20:02:31 字数 449 浏览 4 评论 0原文

过去我被告知从 UNC 共享运行 Web 应用程序是不明智的。我记得的原因是安全、权利和授权问题以及性能。但是,在 DotNetNuke 文档中,它说

DotNetNuke 最初支持的网络场配置涉及 两个或多个前端 Web 服务器(“web-heads”),其 IIS 网站根目录 目录映射到远程文件服务器上的公共 UNC 共享。 UNC 共享包含应用程序源代码以及任何 各个网站的静态内容。

不知何故,这对我来说听起来像是一个穷人的配置,我感觉就像打开了一个潜在的潘多拉盒子。遵循 DotNetNuke Corp 的建议是否明智?

I've been taught in the past that it is unwise to run a web application from an UNC share. Reasons I remember are security, rights and authorization trouble and performance. However, in the DotNetNuke documentation it says:

The web farm configuration that DotNetNuke initially supports involves
two or more front end web servers ("web-heads") whose IIS website root
directories are mapped to a common UNC share on a remote file server.
The UNC share contains the application source code as well as any
static content for the individual sites.

Somehow this sounds to me like a poor-mans configuration and I feel like opening a potential Pandora's box. Is it wise to follow DotNetNuke Corp's suggestion here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一曲琵琶半遮面シ 2024-11-26 20:02:31

使用 UNC 共享本质上没有任何问题。在之前的一家公司,我们运营着数十台 Web 服务器,它们都使用 UNC 共享(不在 DNN 上)。有超过 8 万付费订阅者,其中每天有数十万人使用该应用程序。效果非常好。

要解决 Mitchel 的观点:

1.) 仅当您将单点故障视为一个问题时,它才成为一个问题。各种 SAN/NAS 解决方案都提供大量冗余。

2.) 对于任何像样的 SAN 或 NAS,IO 都不会成为问题。我从来没有遇到过文件系统观察程序的问题。 DNN 不直接使用任何东西,万一内置 ASP.Net 观察器造成问题,我可能会禁用它们。

3.) 我不认为安全性比任何其他解决方案更重要。您必须确保控制对文件的访问并适当地设置权限。对于本地磁盘,您可以选择比网络上的权限更加开放,但您可能应该同样保护两者。有一个与使用 UNC 路径相关的额外配置步骤。与创建值得建立网络场的网站所需的数周甚至数月的努力相比,围绕配置安全性的额外工作将是微不足道的。

我完全同意米切尔关于为什么不使用文件同步的观点。

我知道有些人正在运行具有文件同步功能的 DNN 站点。我不知道有谁没有解决过文件同步引起的问题。就我个人而言,如果算上解决文件同步问题所花费的人力,我怀疑通过文件同步使站点运行良好比在 SAN 上使用 UNC 更便宜。

There is nothing inherently wrong with using a UNC share. At a previous company we operated dozens of web servers and they all used UNC shares (not on DNN). There were over 80k paying subscribers of which 10's of thousands used the applications every day. It worked very well.

To address Mitchel's points:

1.) Single point of failure is only an issue if you make it an issue. There is plenty of redundancy available in the various SAN/NAS solutions.

2.) IO will not be an issue with any decent SAN or NAS. I have never had a problem with file system watchers. DNN doesn't directly use any, in the unlikely event that the built-in ASP.Net watchers created a problem I would probably disable them.

3.) I don't see security as any more of an issue than any other solution. You must be sure to control access to your files and setup permissions appropriately. With local disks you may choose to leave permissions more open than on a network, but you probably should secure both equally well. There is an extra configuration step related to using a UNC path. The extra effort around configuring security will be minuscule when compared to the weeks if not months of effort involved in creating a site that is worthy of a web farm.

I totally agree with Mitchel's opinions on why not to use file synchronization.

I know there are some people out there running DNN sites with file synchronization. I don't know of any who have not had to work around issues caused by the file synchronization. Personally I doubt that getting a site running well with file synchronization is cheaper than using a UNC on a SAN once you count the labor spent sorting out the quirks of file synchronization.

濫情▎り 2024-11-26 20:02:31

当涉及 DOtNetNuke 的此类配置时,有一些事情可能会出现问题。

  1. 尽管“网络场”场景会导致单点故障,但此方法。 UNC 共享成为您的瓶颈,如果它发生故障,所有节点都会发生故障。
  2. 磁盘 IO 和网络通信配置可能是一个问题。这与可以在远程内容上打开/维护的“文件系统观察者”的数量有关。在大多数情况下,这个问题并不是什么大问题,但当它发生时,可能会成为一个皇家 PITA。
  3. 安全性可能是一个问题,但通常是您在配置开始时遇到的问题。您需要确保为用户帐户正确分配权限,以便它可以完全访问 UNC 共享。

我猜测为什么这是 DotNetNuke 公司的“​​默认”建议,原因如下。注意:这些只是我的意见。

  1. 当涉及实时内容同步时,此配置提供了“最少”的复杂性。如果只有一个文件系统,则无需讨论复制和类似性质的事情。
  2. 默认缓存使用基于文件的缓存,两者都进入同一系统,缓存过期很容易管理。如果复制的话就不行了。

There are a few things that can become problematic when it comes to this type of configuration with DOtNetNuke.

  1. This method although a "web-farm" scenario results in a single point of failure. The UNC share becomes your choke point and if it goes down all nodes go down.
  2. Disk IO and configuration of network communication can be an issue. This is related to the number of "File System Watchers" that can be opened/maintained on remote content. THis issue isn't too big of a deal in MOST cases, but can be a royal PITA when it happens.
  3. Security can be an issue, but is typically something that you just have issues with at the onset of the configuration. You need to be sure that you properly assign permissions to the user account so that it can have full access to the UNC share.

My guess as to why this is the "default" recommendation by DotNetNuke corporation would be due to the following. NOTE: these are ONLY my opinions.

  1. This configuration provides the "least" complication when it comes to real-time content synching. WIth only one file system there is no need to talk about replication and things of that nature.
  2. Default caching uses file based caching, with both going to the same system cache expiration is easy to manage. If replicated it wouldn't work.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文