如何在具有共享数据的故障转移群集上设置 IIS

如何在具有共享数据的故障转移群集上设置 IIS

我正在尝试为面向公众的网站设置高可用性 IIS,并且很难找到有关设置权限、正确配置 IIS 以及验证我的设置计划是否最佳的最佳和最安全方法的信息。

经过大量研究,我决定采用这种设置:

  • 2x IIS 服务器,使用共享配置。
  • 两个 IIS 服务器都连接到同一个 Windows 故障转移群集 SMB 文件共享,以获取应用程序网站数据。
  • 文件服务器使用 Starwind vSAN。
  • IIS 服务器将接收来自 NLB/ARR 群集的请求。
  • 服务器是两个 Hyper-V 主机上的虚拟机
  • Mysql 将在带有 MariaDB Galera Cluster 的两个 Linux VM 上运行。

我发现的普遍共识是不要将 SOFS 用于 IIS,因此它是作为 SMB 共享 - 应用程序的标准文件服务器设置。使用 Starwind 是因为双节点系统上没有单点故障,并且复制是同步的。数据将有定期备份和影子副本,而虚拟机将在另一台主机上有副本。

我目前的问题来自于了解设置共享 IIS 数据所需的权限和用户。

目前数据位于服务器本地,并具有内置用户、系统、管理员、trustedinstaller 的权限,并且 IUSR 设置为对某些文件夹的写入权限。ApplicationPoolIdentiy 与传递身份验证一起使用。匿名身份验证设置为 IUSR。

对于共享数据,我只有在将应用程序池设置为使用域用户,并将匿名身份验证设置为使用 ApplicationPoolIdentity 后,我的网站才能正常工作。我已添加域用户以对 SMB 共享拥有完全权限。我还看到了一些建议,即将计算机帐户添加到权限中,并保留应用程序池的本地系统帐户,但 IUSR 仍必须更改为 appidentity 以进行匿名身份验证。是否有一种方法是首选的?哪些 NTFS 和 SMB 权限是必要的,当以前使用 IUSR 时谁需要写访问权限?

另外,在 IIS 中共享文件有什么问题吗?日志、缓存和 php 会话文件夹可以共享吗?尽管我授予了完全权限,但目前日志和缓存仍出现写入权限错误。

任何帮助、想法和意见都将不胜感激!

答案1

共享 IIS 存储的 NTFS/SMB 权限在 ms 指南中有详细描述: https://docs.microsoft.com/en-us/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configuring-share-and-ntfs-permissions

如果您有一些 webapp/scripts,它们应该将数据写入文件服务器上的文件夹,那么您应该为该文件夹配置适当的权限。

Web 农场配置最好存储在共享驱动器上。以下是链接:

https://docs.microsoft.com/ru-ru/iis/web-hosting/configuring-servers-in-the-windows-web-platform/shared-configuration_211

至于非内容数据(日志、缓存会话等),将它们存储在共享中不会带来太大优势。所以这取决于你。

相关内容