Estou tentando fazer algo que tenho certeza de que já foi feito antes, então gostaria de ajuda para encontrar as melhores ferramentas para o trabalho.
Eu tenho um servidor de download de dados na web, agora um usuário precisa fazer o login no servidor e solicitar um arquivo, com o Apache httpd sendo exibido diretamente pela rede.
Como os arquivos são bem grandes, quero configurar uma máquina que atualmente funciona como um roteador para a nossa LAN, para que os downloads aconteçam a partir de qualquer usuário conectado à nossa LAN, mas a autenticação do usuário ainda tem que acontecer o servidor da web. Além disso, não quero que meus usuários lidem com essa alteração, eles devem fazer o login e solicitar o arquivo, e o roteador local deve assumir caso eles estejam na LAN, caso contrário eles devem receber o arquivo da Internet.
Eu acho que tenho que configurar um servidor apache local no roteador, para que ele possa servir os arquivos, mas não tenho certeza de como interceptar a solicitação de um arquivo, solicitar a autenticação do servidor e ainda atender ao servidor. arquivo do roteador local. Estou lendo a documentação do Squid, já que a princípio parece ser capaz de fazer algo do gênero, mas gostaria de receber algumas orientações de pessoas com mais experiência.
O squid é a ferramenta certa para esse problema? Existem alternativas melhores?
Outra solução que pensei é manter uma cópia local do banco de dados de autenticação, para que quando um usuário solicitar um arquivo, eu só precise interceptar essa solicitação e executar a autenticação localmente e servir o arquivo, o problema é que as permissões de arquivos são bastante voláteis e não sei de uma boa maneira de manter os dois bancos de dados em sincronia automaticamente. Existe alguma ferramenta para ajudar nesse sentido?