Execute o servidor FTP na porta 80 junto com o tráfego da web

1

Eu tenho o IIS executando dois sites + pastas virtuais IIS (w3root) em um servidor 2k3 de vitória. Gostaria de saber se havia alguma maneira de também pegar carona no tráfego FTP nesse pipe usando a porta 80 no servidor ftp.

Como eu faria isso e ainda manteria a web funcionando sem interrupção?

    
por Caveatrob 19.03.2012 / 16:15

4 respostas

8

Não, você não pode executar HTTP e FTP na mesma porta TCP do mesmo endereço IP. Se você está procurando uma maneira de enviar arquivos via porta 80 para um servidor web, WebDAV pode ser uma opção.

Você pode estar interessado em um tutorial sobre o uso do WebDAV com o IIS no Server 2003 .

Não se esqueça da segurança! O FTP é um protocolo desatualizado e inseguro que nunca deve ser usado na Internet pública, exceto para downloads anônimos. O FTP envia seu nome de usuário / senha e seus dados em texto simples. SFTP e FTPS são alternativas razoáveis.

Se você não puder usar SSL o tempo todo, habilitando Autenticação Digest impedirá que suas senhas de login do WebDAV sejam enviadas em texto simples.

    
por 19.03.2012 / 16:32
2

Você poderia apenas servir os diretórios com o servidor HTTP.

Além disso, você pode usar um proxy squid para colocar algumas requisições em seu servidor http, e outras requisições (http) que podem perguntar ao servidor ftp.

Mas não, em princípio você não pode colocar dois programas em uma porta.

    
por 19.03.2012 / 18:38
1

Você também pode adicionar uma ligação de FTP ao local. Ele não seria executado na porta 80, mas permitiria que o FTP fosse usado nas mesmas pastas de conteúdo.

    
por 20.03.2012 / 01:02
0

Você pode usar a unificação de porta para ligar os dois protocolos na mesma porta. Você provavelmente teria que escrever seu próprio aplicativo ouvindo nessa porta, de forma semelhante ao que sslh faz.

Essencialmente, este aplicativo pode escutar na porta 80 e despachar a solicitação dependendo do que for obtido. Como o HTTP é um protocolo no qual os clientes falam primeiro e o FTP é um protocolo no qual o servidor fala primeiro, você teria que esperar x milissegundos para ver se o cliente enviou uma solicitação HTTP. Em caso afirmativo, despache-o para o seu servidor HTTP real (provavelmente efetivamente em execução em outra porta), caso contrário, despache a conexão para o seu servidor FTP.

Você poderia, em princípio, ter vários protocolos em que o cliente fala primeiro e tentar detectar qual protocolo é usado olhando para a solicitação. Você não pode ter mais de um protocolo em que o servidor fala primeiro.

Não é claramente uma forma "limpa" de resolver este problema, é principalmente uma solução alternativa que pode ser útil em ambientes onde você não está no controle da rede e alguém colocou limitações (talvez arbitrariamente) nas portas que você pode usar. Caso contrário, é melhor manter a porta oficial para cada protocolo. O WebDAV pode ser uma alternativa razoável ao FTP se você estiver limitado a usar HTTP.

    
por 20.03.2012 / 17:07