So richten Sie IIS in einem Failovercluster mit gemeinsam genutzten Daten ein

7

Ich versuche, einen hochverfügbaren IIS für öffentlich zugängliche Websites einzurichten, und es fällt mir schwer, Informationen über die beste und sicherste Methode zum Einrichten der Berechtigungen, zum korrekten Konfigurieren von IIS und zum Überprüfen, ob mein Einrichtungsplan optimal ist, zu finden .

Nach langem Suchen habe ich mich für dieses Setup entschieden:

  • 2x IIS-Server mit gemeinsam genutzter Konfiguration.
  • Beide IIS-Server stellen für Anwendungswebsite-Daten eine Verbindung zu derselben Windows-Failovercluster-SMB-Dateifreigabe her.
  • Der Dateiserver verwendet Starwind vSAN.
  • IIS-Server empfangen Anforderungen von einem NLB / ARR-Cluster.
  • Server sind VMs auf zwei Hyper-V-Hosts
  • MySQL wird auf zwei Linux-VMs mit MariaDB Galera Cluster ausgeführt.

Der allgemeine Konsens, den ich gefunden habe, war, SOFS nicht für IIS zu verwenden, daher handelt es sich um ein Standard-Dateiserver-Setup als SMB Share - Application. Starwind wurde verwendet, da auf dem Zwei-Knoten-System kein einzelner Fehlerpunkt vorhanden ist und die Replikation synchron ist. Daten werden regelmäßig gesichert und Schattenkopien erstellt, und VMs verfügen über Replikate auf einem anderen Host.

Meine Probleme ergeben sich derzeit aus dem Verständnis der Berechtigungen und Benutzer, die zum Einrichten freigegebener IIS-Daten erforderlich sind.

Derzeit sind die Daten lokal auf dem Server und verfügen über Berechtigungen für integrierte Benutzer, Systeme, Administratoren und vertrauenswürdige Installationsprogramme. IUSR ist für Schreibberechtigungen für bestimmte Ordner festgelegt. ApplicationPoolIdentiy wird mit der Pass-Through-Authentifizierung verwendet. Die anonyme Authentifizierung ist auf IUSR eingestellt.

Bei freigegebenen Daten funktioniert meine Website erst, nachdem der Anwendungspool für die Verwendung eines Domänenbenutzers und die anonyme Authentifizierung für die Verwendung von ApplicationPoolIdentity festgelegt wurden. Ich habe den Domänenbenutzer hinzugefügt, um über vollständige Berechtigungen für die SMB-Freigabe zu verfügen. Ich habe auch einige Empfehlungen zum Hinzufügen des Computerkontos zu Berechtigungen und zum Beibehalten lokaler Systemkonten für Anwendungspools gesehen, außer dass IUSR für eine anon-Authentifizierung noch in appidentity geändert werden muss. Wird eine Methode bevorzugt? Welche NTFS- und SMB-Berechtigungen sind erforderlich und wer benötigt Schreibzugriff, als IUSR zuvor verwendet wurde?

Gibt es auch Bedenken hinsichtlich der Freigabe von Dateien in IIS? Können Protokolle, Caching und PHP-Sitzungsordner gemeinsam genutzt werden? Ich habe derzeit Schreibberechtigungsfehler in Protokollen und im Caching, obwohl ich die vollständigen Berechtigungen erteilt habe.

Jede Hilfe, Gedanken und Meinungen wäre sehr dankbar!

Justin M.
quelle

Antworten:

6

Die NTFS / SMB-Berechtigungen für gemeinsam genutzten IIS-Speicher werden im MS-Handbuch beschrieben: https://docs.microsoft.com/en-us/iis/web-hosting/configuring-servers-in-the-windows-web-platform/ Konfigurieren von Freigabe- und ntfs-Berechtigungen

Wenn Sie über einige Webanwendungen / Skripte verfügen, die Daten in einen Ordner auf dem Dateiserver schreiben sollen, sollten Sie die entsprechenden Berechtigungen für diesen Ordner konfigurieren.

Die Webfarmkonfiguration sollte besser auf einem freigegebenen Laufwerk gespeichert werden. Hier ist ein Link:

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

In Bezug auf nicht inhaltliche Daten (Protokolle, Cache-Sitzungen usw.) erhalten Sie keinen großen Vorteil, wenn Sie sie auf der Freigabe speichern. Also liegt es an dir.

batistuta09
quelle
3
Danke, das ist die beste Aufschlüsselung, die ich bisher gesehen habe. Mein einziges Problem scheinen die iis-Protokolle zu sein. Ich habe den Protokollen, Protokolldateien und w3svc * -Ordnern die vollständigen Berechtigungen erteilt, aber ich beschwere mich immer wieder, dass sie nicht geschrieben werden können. Die Eigentümerschaft ist auf integriert / Administrator festgelegt. Irgendwelche Ideen, was es sonst sein könnte? Vielen Dank!
Justin M
1
Daher habe ich die Protokolldatei für freigegebene Ordner nie zum Laufen gebracht, aber seitdem gelesen, dass mehrere iis-Server aufgrund gesperrter Schreibvorgänge ohnehin nicht in dieselbe Protokolldatei schreiben können. Die beste Lösung, wenn Sie einen einzigen Ort für Protokolldateien benötigen, besteht darin, ein Skript zu schreiben, das für eine geplante Aufgabe ausgeführt wird, mit der Protokolldateien kopiert und an einem freigegebenen Speicherort verknüpft werden.
Justin M