Compartilhar via


Suporte ao Nome do Host FTP <hostNameSupport>

Visão geral

O elemento <hostNameSupport> especifica que a sintaxe de nome de domínio tem suporte para nomes do host virtual.

Os nomes do host virtual FTP foram introduzidos no FTP 7.0 e um nome do host virtual FTP é especificado como parte de uma associação da mesma forma que você especifica nomes de cabeçalho de host HTTP. Por exemplo, você pode especificar as associações usando nomes do host como www.contoso.com ou www.fabrikam.com para as associações HTTP e ftp.contoso.com ou ftp.fabrikam.com para as associações FTP. O HTTP fornece uma maneira de passar o nome do host nos cabeçalhos que são passados entre o cliente e o servidor, mas o FTP atualmente não fornece essa mesma funcionalidade. Devido a essa limitação de FTP, o nome do host virtual é usado como parte do nome de usuário durante o processo de logon. Por padrão, um cliente FTP precisaria especificar suas credenciais de logon usando o caractere pipe (linha vertical) com sintaxe como ftp.contoso.com|username ou ftp.fabrikam.com|username. Ao definir o atributo useDomainNameAsHostName como true, você pode especificar o host virtual e o nome de usuário usando a sintaxe de nome de domínio; isso permite que você use um caractere de barra invertida em vez do caractere pipe (linha vertical). Portanto, a sintaxe seria semelhante a ftp.contoso.com\username ou ftp.fabrikam.com\username.

Observação

Tanto o FTP 7.0 quanto o FTP 7.5 dão suporte ao comando HOST FTP proposto, o que não exige que você use o nome do host virtual como parte do nome de usuário.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <hostNameSupport> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <hostNameSupport> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <hostNameSupport> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <hostNameSupport> do elemento <system.ftpServer> é fornecido como um recurso do IIS 7.5.
IIS 7.0 O elemento <hostNameSupport> do elemento <system.ftpServer> foi introduzido no FTP 7.5, que era um download separado para o IIS 7.0.
IIS 6,0 N/D

Observação

Os serviços FTP 7.0 e FTP 7.5 eram fornecidos fora de banda para o IIS 7.0, o que exigia o download e a instalação de módulos do seguinte URL:

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

Com o Windows 7 e o Windows Server 2008 R2, o serviço FTP 7.5 é fornecido como um recurso para o IIS 7.5 e, portanto, o download do serviço FTP não é mais necessário.

Instalação

Para dar suporte à publicação FTP para seu servidor Web, você deve instalar o serviço FTP. Para fazer isso, execute as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.

  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.

  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.

  4. Na página Funções de servidor, expanda Servidor Web (IIS) e, em seguida, selecione Servidor FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você precisará selecionar a Extensibilidade de FTP além do Serviço FTP.
    Image of Web Server I I S and F T P Server pane expanded with F T P Service and F T P Extensibility selected.

  5. Selecione Avançar e, em seguida, na página Selecionar recursos, selecione Avançar novamente.

  6. Na página Confirmar seleções de instalação, clique em Instalar.

  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.

  3. Expanda Serviços de Informações da Internet e selecione Servidor FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisará selecionar Extensibilidade de FTP. Screenshot of Internet Information Services and F T P Server pane expanded showing F T P Extensibility selected.

  4. Clique em OK.

  5. Clique em Fechar.

Windows Server 2008 R2

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.

  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).

  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.

  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, expanda Servidor FTP.

  5. Selecione Serviço FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisará selecionar Extensibilidade de FTP. Image of Select Role Services page in Add Role Services Wizard displaying F T P Server pane expanded and F T P Service selected.

  6. Clique em Avançar.

  7. Na página Confirmar Seleções de Instalação, clique em Instalar.

  8. Na página Resultados , clique em Fechar.

Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.

  3. Expanda Serviços de Informações da Internet e, em seguida, Servidor FTP.

  4. Selecione Serviço FTP.

    Observação

    Para dar suporte à autenticação do ASP.Membership ou do Gerenciador do IIS para o serviço FTP, você também precisará selecionar Extensibilidade de FTP.
    Image of Turn Windows Features on or off page showing F T P Server pane expanded with both F T P Extensibility and F T P Service selected.

  5. Clique em OK.

Windows Server 2008 ou Windows Vista

  1. Baixe o pacote de instalação do seguinte URL:

  2. Siga as instruções no seguinte passo a passo para instalar o serviço FTP:

Instruções

Como configurar a sintaxe de nome de domínio para nomes do host virtual

Observação

Não há nenhuma interface direta do usuário que permita configurar o elemento <hostNameSupport>. Portanto, as etapas a seguir usarão o recurso editor de configuração do IIS.

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, clique no nome do servidor.

  3. No painel Página Inicial, clique duas vezes no recurso Editor de Configuração.

  4. No menu suspenso Seção, expanda system.ftpServer e clique em serverRuntime.

  5. Expanda hostNameSupport no modo de exibição de lista.
    Screenshot of Section drop down menu in Configuration Editor feature displaying host Name Support pane expanded in the list view.

  6. Escolha True ou False na lista suspensa do atributo useDomainNameAsHostName.

  7. No painel Ações, clique em Aplicar.

Observação

Esta seção contém informações sobre como modificar as configurações do IIS usando o Editor de Configuração do IIS. Editar incorretamente as configurações do IIS pode danificar severamente a instalação do IIS. Portanto, certifique-se de seguir essas etapas com atenção. Para obter mais segurança, faça backup das configurações do IIS antes de usar o Editor de Configuração do IIS para fazer modificações. Para obter mais informações sobre como fazer backup de suas configurações do IIS e como usar o Editor de Configuração do IIS, consulte os seguintes tópicos:

Configuração

O elemento <hostNameSupport> do elemento <serverRuntime> é configurado no nível global no ApplicationHost.config.

Atributos

Atributo Descrição
useDomainNameAsHostName Atributo Boolean opcional.

true, se a sintaxe de nome de domínio tiver suporte para nomes do host virtual; caso contrário, false.

O valor padrão é false.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo a seguir exibe um elemento <serverRuntime> que configura a sintaxe de nome de domínio de permissão do servidor para nomes do host virtual.

<system.ftpServer>
    <serverRuntime>
        <hostNameSupport useDomainNameAsHostName="true" />
    </serverRuntime>
</system.ftpServer>

Exemplo de código

Os exemplos a seguir configuram o elemento <serverRuntime> para um servidor FTP para permitir a sintaxe de nome de domínio para nomes do host virtual FTP.

AppCmd.exe

appcmd.exe set config -section:system.ftpServer/serverRuntime /hostNameSupport.useDomainNameAsHostName:"True" /commit:apphost

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config.

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