Freigeben über


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:

https://www.iis.net/expand/FTP

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

  1. Klicken Sie auf der Taskleiste auf Server-Manager.

  2. Klicken Sie im Server-Manager auf das Menü Verwalten und dann auf Rollen und Features hinzufügen.

  3. 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.

  4. 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. Screenshot of the F T P Extensibility option being selected and highlighted.

  5. Klicken Sie auf Weiter und wählen Sie dann auf der Seite Features auswählen erneut Weiter aus.

  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.

  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  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.

  2. Klicken Sie in der Systemsteuerung auf Programme und Features, und klicken Sie dann auf Windows-Features aktivieren oder deaktivieren.

  3. 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. Screenshot of the F T P Extensibility folder being highlighted and selected.

  4. Klicken Sie auf OK.

  5. Klicken Sie auf Schließen.

Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Server-Manager.

  2. Erweitern Sie im Hierarchiebereich des Server-Managers die Option Rollen, und klicken Sie dann auf den Webserver (IIS).

  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.

  4. Erweitern Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten die Option FTP-Server.

  5. 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. Screenshot of the Select Role Services wizard showing the F T P Service option being selected and highlighted.

  6. Klicken Sie auf Weiter.

  7. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.

  8. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.

  2. Klicken Sie in der Systemsteuerung auf Programme und Features, und klicken Sie dann auf Windows-Features aktivieren oder deaktivieren.

  3. Erweitern Sie Internetinformationsdienste und dann FTP-Server.

  4. 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. Screenshot of the Turn Windows features on or off dialog box, showing the F T P Extensibility folder.

  5. Klicken Sie auf OK.

Windows Server 2008 oder Windows Vista

  1. Laden Sie das Installationspaket unter der folgenden URL herunter:

  2. 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.

  1. Ö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).
  2. Klicken Sie im Bereich Verbindungen auf den Servernamen.

  3. Doppelklicken Sie im Startbereich auf das Feature Konfigurations-Editor.

  4. Erweitern Sie im Dropdownmenü Abschnitt den Eintrag system.ftpServer, und klicken Sie dann auf serverRuntime.

  5. Erweitern Sie hostNameSupport- in der Listenansicht.
    Screenshot of the Configuration Editor feature showing the host name support option in the Deepest Path list view.

  6. Wählen Sie in der Dropdownliste für das Attribut useDomainNameAsHostName die Option True oder False aus.

  7. 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:

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()