FTP-Serverlaufzeit <serverRuntime>
Übersicht
Das <serverRuntime>
-Element gibt Einstellungen an, die die Funktionsweise des FTP-Diensts konfigurieren. Genauer gesagt enthält das <serverRuntime>
-Element das <hostNameSupport>
-Element, mit dem Sie konfigurieren können, ob die Domänennamensyntax zum Angeben virtueller FTP-Hosts verwendet werden kann.
In FTP 7.0 wurden virtuelle FTP-Hostnamen eingeführt. Ein virtueller FTP-Hostname wird auf gleiche Weise als Teil einer Bindung angegeben wie HTTP-Hostheadernamen. Sie können beispielsweise die Bindungen mithilfe von Hostnamen wie www.contoso.com
oder www.fabrikam.com
für die HTTP-Bindungen und ftp.contoso.com
oder ftp.fabrikam.com
für die FTP-Bindungen angeben. HTTP bietet eine Möglichkeit zum Übergeben des Hostnamens in den Headern, die zwischen Client und Server übergeben werden, FTP bietet derzeit jedoch nicht dieselbe Funktionalität. Aufgrund dieser FTP-Einschränkung wird der virtuelle Hostname während des Anmeldevorgangs als Teil des Benutzernamens verwendet. Standardmäßig muss ein FTP-Client seine Anmeldeinformationen mithilfe des Pipezeichens (senkrechter Strich) bei einer Syntax wie ftp.contoso.com|username
oder ftp.fabrikam.com|username
angeben. Indem Sie das Attribut useDomainNameAsHostName
auf true festlegen, können Sie den virtuellen Host und den Benutzernamen mithilfe der Domänennamensyntax angeben. Dadurch können Sie einen umgekehrten Schrägstrich anstelle des Pipezeichens (senkrechter Strich) verwenden. In diesem Fall würde die Syntax wie folgt aussehen: ftp.contoso.com\username
oder ftp.fabrikam.com\username
.
Hinweis
Sowohl FTP 7.0 als auch FTP 7.5 unterstützt den vorgeschlagenen FTP-HOST-Befehl, der nicht erfordert, dass Sie den virtuellen Hostnamen als Teil des Benutzernamens verwenden.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <serverRuntime> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <serverRuntime> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <serverRuntime> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <serverRuntime> -Element des <system.ftpServer> -Elements wurde in FTP 7.5 eingeführt und wird als Feature von IIS 7.5 bereitgestellt. |
IIS 7.0 | N/V |
IIS 6.0 | N/V |
Hinweis
Die Dienste FTP 7.0 und FTP 7.5 waren nicht im Lieferumfang von IIS 7.0 enthalten, daher mussten die Module unter der folgenden URL heruntergeladen und installiert werden:
Bei Windows 7 und Windows Server 2008 R2 wird der FTP 7.5-Dienst als Feature für IIS 7.5 bereitgestellt, sodass das Herunterladen des FTP-Diensts nicht mehr erforderlich ist.
Setup
Um die FTP-Veröffentlichung für Ihren Webserver zu unterstützen, müssen Sie den FTP-Dienst installieren. Führen Sie dazu die folgenden Schritte aus:
Windows Server 2012 oder Windows Server 2012 R2
Klicken Sie auf der Taskleiste auf Server-Manager.
Klicken Sie im Server-Manager auf das Menü Verwalten und dann auf Rollen und Features hinzufügen.
Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
Erweitern Sie auf der Seite Serverrollen den Eintrag Webserver (IIS), und wählen Sie dann FTP-Server aus.
Hinweis
Um die Authentifizierung mittels ASP.NET-Mitgliedschaft oder IIS-Manager für den FTP-Dienst zu unterstützen, müssen Sie zusätzlich zu FTP-Dienst die Option FTP-Erweiterbarkeit auswählen.
Klicken Sie auf Weiter und wählen Sie dann auf der Seite Features auswählen erneut Weiter aus.
Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 8 oder Windows 8.1
Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Schaltfläche Start, und klicken Sie dann auf Systemsteuerung.
Klicken Sie in der Systemsteuerung auf Programme und Features, und klicken Sie dann auf Windows-Features aktivieren oder deaktivieren.
Erweitern Sie Internetinformationsdienste, und wählen Sie dann FTP-Server aus.
Hinweis
Um die Authentifizierung mittels ASP.NET-Mitgliedschaft oder IIS-Manager für den FTP-Dienst zu unterstützen, müssen Sie auch FTP-Erweiterbarkeit auswählen.
Klicken Sie auf OK.
Klicken Sie auf Schließen.
Windows Server 2008 R2
Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Server-Manager.
Erweitern Sie im Hierarchiebereich des Server-Managers die Option Rollen, und klicken Sie dann auf den Webserver (IIS).
Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
Erweitern Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten die Option FTP-Server.
Wählen Sie FTP-Dienst aus.
Hinweis
Um die Authentifizierung mittels ASP.NET-Mitgliedschaft oder IIS-Manager für den FTP-Dienst zu unterstützen, müssen Sie auch FTP-Erweiterbarkeit auswählen.
Klicken Sie auf Weiter.
Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 7
Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
Klicken Sie in der Systemsteuerung auf Programme und Features, und klicken Sie dann auf Windows-Features aktivieren oder deaktivieren.
Erweitern Sie Internetinformationsdienste und dann FTP-Server.
Wählen Sie FTP-Dienst aus.
Hinweis
Um die Authentifizierung mittels ASP.NET-Mitgliedschaft oder IIS-Manager für den FTP-Dienst zu unterstützen, müssen Sie auch FTP-Erweiterbarkeit auswählen.
Klicken Sie auf OK.
Windows Server 2008 oder Windows Vista
Laden Sie das Installationspaket unter der folgenden URL herunter:
Befolgen Sie die Anweisungen in der folgenden exemplarischen Vorgehensweise, um den FTP-Dienst zu installieren:
Gewusst wie
Konfigurieren der Domänennamensyntax für virtuelle Hostnamen
Hinweis
Es gibt keine direkte Benutzeroberfläche, über die Sie das <hostNameSupport>
-Element konfigurieren können. Daher wird in den folgenden Schritten das Feature für den IIS-Konfigurations-Editor verwendet.
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:
- Klicken Sie auf der Taskleiste auf Server-Manager, auf Tools und dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows 8 oder Windows 8.1:
- Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
- Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Vista oder Windows 7:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Klicken Sie im Bereich Verbindungen auf den Servernamen.
Doppelklicken Sie im Startbereich auf das Feature Konfigurations-Editor.
Erweitern Sie im Dropdownmenü Abschnitt den Eintrag system.ftpServer, und klicken Sie dann auf serverRuntime.
Erweitern Sie hostNameSupport- in der Listenansicht.
Wählen Sie in der Dropdownliste für das Attribut useDomainNameAsHostName die Option True oder False aus.
Klicken Sie im Bereich Aktionen auf Übernehmen.
Hinweis
Dieser Abschnitt enthält Informationen zum Ändern Ihrer IIS-Einstellungen mithilfe des IIS-Konfigurations-Editors. Die falsche Bearbeitung Ihrer IIS-Konfigurationseinstellungen kann die IIS-Installation erheblich beschädigen. Daher müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Zur zusätzlichen Sicherheit sollten Sie Ihre IIS-Konfigurationseinstellungen sichern, bevor Sie den IIS-Konfigurations-Editor verwenden, um Änderungen vorzunehmen. Weitere Informationen zum Sichern Ihrer IIS-Konfigurationseinstellungen und zur Verwendung des IIS-Konfigurations-Editors finden Sie in den folgenden Themen:
- Sichern einer IIS 7-Konfiguration
https://technet.microsoft.com/library/dd819406.aspx - Konfigurations-Editor Seite
https://technet.microsoft.com/library/dd569081.aspx
Konfiguration
Das <serverRuntime>
-Element wird auf globaler Ebene in der Datei „ApplicationHost.config“ konfiguriert.
Attribute
Keine
Untergeordnete Elemente
Element | Beschreibung |
---|---|
hostNameSupport |
Optionales Element. Gibt an, ob die Domänennamensyntax für virtuelle Hostnamen zulässig ist. |
Konfigurationsbeispiel
Im folgenden Beispiel wird ein <serverRuntime>
-Element gezeigt, das den Server so konfiguriert, dass er die Domänennamensyntax für virtuelle Hostnamen zulässt.
<system.ftpServer>
<serverRuntime>
<hostNameSupport useDomainNameAsHostName="true" />
</serverRuntime>
</system.ftpServer>
Beispielcode
In den folgenden Beispielen wird das <serverRuntime>
-Element für einen FTP-Server so konfiguriert, dass er Domänennamensyntax für virtuelle FTP-Hostnamen zulässt.
AppCmd.exe
appcmd.exe set config -section:system.ftpServer/serverRuntime /hostNameSupport.useDomainNameAsHostName:"True" /commit:apphost
Hinweis
Sie müssen den commit-Parameter auf apphost
festlegen, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = config.GetSection("system.ftpServer/serverRuntime");
ConfigurationElement hostNameSupportElement = serverRuntimeSection.GetChildElement("hostNameSupport");
hostNameSupportElement["useDomainNameAsHostName"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim serverRuntimeSection As ConfigurationSection = config.GetSection("system.ftpServer/serverRuntime")
Dim hostNameSupportElement As ConfigurationElement = serverRuntimeSection.GetChildElement("hostNameSupport")
hostNameSupportElement("useDomainNameAsHostName") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var serverRuntimeSection = adminManager.GetAdminSection("system.ftpServer/serverRuntime", "MACHINE/WEBROOT/APPHOST");
var hostNameSupportElement = serverRuntimeSection.ChildElements.Item("hostNameSupport");
hostNameSupportElement.Properties.Item("useDomainNameAsHostName").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set serverRuntimeSection = adminManager.GetAdminSection("system.ftpServer/serverRuntime", "MACHINE/WEBROOT/APPHOST")
Set hostNameSupportElement = serverRuntimeSection.ChildElements.Item("hostNameSupport")
hostNameSupportElement.Properties.Item("useDomainNameAsHostName").Value = True
adminManager.CommitChanges()