Compartilhar via


Cache FTP <caching>

Visão geral

O elemento <caching> especifica as configurações de credenciais para o serviço FTP.

O serviço FTP armazena em cache as credenciais do usuário para fins de desempenho, diminuindo assim o tempo necessário para autenticar clientes e reduzindo a sobrecarga associada à pesquisa de credenciais de usuário no repositório de segurança que está em uso. Por exemplo, ao usar a autenticação FTP Basic, as credenciais do usuário são armazenadas no banco de dados de contas locais no servidor em que o serviço FTP está em execução ou em um controlador de domínio. Se você estiver usando credenciais de associação do .NET, as contas de usuário serão armazenadas em um banco de dados. Se as contas de domínio ou o banco de dados de associação forem armazenados em um computador remoto, o cache de credenciais ajudará a compensar o tempo necessário para validar contas. Em um servidor FTP com um grande número de logons de conta, isso pode aumentar substancialmente o desempenho.

Quando seus requisitos de segurança determinam que as credenciais devem ser liberadas imediatamente, você pode configurar o cache de credenciais para atender ao seu ambiente. Por exemplo, se você alterar uma senha depois de fazer logon com êxito no site FTP, as credenciais antigas poderão ser armazenadas em cache durante o tempo limite do cache. Em uma topologia de rede em que isso provavelmente ocorrerá com regularidade, talvez você queira diminuir o tempo limite do cache ou desabilitar o cache.

O cache de credenciais é habilitado por padrão para FTP 7.0, FTP 7.5 e FTP 8.0. As credenciais são armazenadas em cache por 15 minutos. O tempo de vida das credenciais no cache é especificado pelo atributo flushInterval e as credenciais podem ser liberadas manualmente reiniciando o serviço FTP.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <caching> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <caching> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <caching> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <caching> do elemento <system.ftpServer> é fornecido como um recurso do IIS 7.5.
IIS 7.0 O elemento <caching> do elemento <system.ftpServer> foi introduzido no FTP 7.0, que foi 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 enviados 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, 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 do Servidor, expanda Servidor Web (IIS) 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ê precisará selecionar a Extensibilidade de FTP além do Serviço FTP.
    Screenshot of Server Roles page with F T P Server node expanded and F T P Extensibility selected. .

  5. Clique em Próximo e, na página Selecionar recursos, clique em Próximo 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, 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ê também precisará selecionar a Extensibilidade de FTP.
    Screenshot of Internet Information Services and F T P Server pane expanded with F T P Extensibility highlighted.

  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 a Extensibilidade de FTP.
    Screenshot of Select Role Services page of the Add Role Services Wizard with F T P Server node 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 a Extensibilidade de FTP.
    Screenshot of Internet Information Services and F T P Server node expanded displaying F T P Extensibility and F T P Service both selected.

  5. Clique em OK.

Windows Server 2008 ou Windows Vista

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

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

Instruções

Como definir as configurações de cache de credencial FTP

Observação para usuários do IIS 7.0: algumas etapas nesta seção podem exigir que você instale o Microsoft Administration Pack para IIS 7.0, que inclui o Editor de Configuração do IIS. Para instalar o Microsoft Administration Pack para IIS 7.0, consulte a seguinte URL:

Observação

Não há nenhuma interface direta do usuário que permita configurar o elemento <hostNameSupport> e, 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 sytem.ftpServer e clique em cache.
    Screenshot of Configuration Editor feature pane showing system dot f t p Server menu expanded.

  5. Expanda credentialsCache no modo de exibição de lista.

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

  7. Insira o número de segundos para o intervalo de liberação do atributo flushInterval.

  8. 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 <caching> é configurado no nível global em ApplicationHost.config.

Atributos

Nenhum.

Elementos filho

Elemento Descrição
credentialsCache Elemento opcional.

Especifica as configurações de cache de credencial para o serviço FTP.

Exemplo de configuração

O exemplo de configuração a seguir habilita o cache de credenciais FTP para um servidor e define o tempo limite da credencial como 300 segundos (cinco minutos).

<system.ftpServer>
   <caching>
      <credentialsCache enabled="true" flushInterval="300" />
   </caching>
</system.ftpServer>

Exemplo de código

Os exemplos a seguir habilitam o cache de credenciais FTP para um servidor e definem o tempo limite da credencial como 300 segundos (cinco minutos).

AppCmd.exe

appcmd.exe set config -section:system.ftpServer/caching /credentialsCache.enabled:"True" /commit:apphost

appcmd.exe set config -section:system.ftpServer/caching /credentialsCache.flushInterval:"300" /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 cachingSection = config.GetSection("system.ftpServer/caching");

         ConfigurationElement credentialsCacheElement = cachingSection.GetChildElement("credentialsCache");
         credentialsCacheElement["enabled"] = true;
         credentialsCacheElement["flushInterval"] = 300;

         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 cachingSection As ConfigurationSection = config.GetSection("system.ftpServer/caching")

      Dim credentialsCacheElement As ConfigurationElement = cachingSection.GetChildElement("credentialsCache")
      credentialsCacheElement("enabled") = True
      credentialsCacheElement("flushInterval") = 300

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.ftpServer/caching", "MACHINE/WEBROOT/APPHOST");

var credentialsCacheElement = cachingSection.ChildElements.Item("credentialsCache");
credentialsCacheElement.Properties.Item("enabled").Value = true;
credentialsCacheElement.Properties.Item("flushInterval").Value = 300;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.ftpServer/caching", "MACHINE/WEBROOT/APPHOST")

Set credentialsCacheElement = cachingSection.ChildElements.Item("credentialsCache")
credentialsCacheElement.Properties.Item("enabled").Value = True
credentialsCacheElement.Properties.Item("flushInterval").Value = 300

adminManager.CommitChanges()