Кэширование больших файлов для локальной сети с аутентификацией в интернете

1

Я пытаюсь сделать что-то, что, я уверен, было сделано раньше, поэтому мне нужна помощь в поиске лучших инструментов для работы.

У меня есть сервер загрузки данных в Интернете, сейчас пользователь должен войти на сервер и запросить файл, а Apache httpd работает непосредственно через сеть.

Поскольку файлы довольно большие, я хочу настроить компьютер, который в настоящее время функционирует в качестве маршрутизатора для нашей локальной сети, чтобы загрузка с него происходила любому пользователю, подключенному к нашей локальной сети, но аутентификация пользователя все еще должна происходить на веб-сервере. , Кроме того, я не хочу, чтобы мои пользователи имели дело с этим изменением, они должны войти в систему и запросить файл, а локальный маршрутизатор должен вступить во владение, если они находятся в локальной сети, в противном случае они должны получить файл из Интернета.

Я думаю, мне нужно настроить локальный сервер Apache в маршрутизаторе, чтобы он мог обслуживать файлы, но я не уверен, как перехватить запрос на файл, запросить проверку подлинности с сервера и по-прежнему обслуживать файл с локальный роутер. Я читаю документацию по Squid, так как поначалу кажется, что он может делать что-то подобное, но я был бы признателен за некоторые указания от опытных людей.

Является ли Squid подходящим инструментом для решения этой проблемы? Есть ли лучшие альтернативы?

Другое решение, о котором я думал, - это поддержка локальной копии базы данных аутентификации, поэтому, когда пользователь запрашивает файл, мне нужно только перехватить этот запрос и выполнить аутентификацию локально и предоставить файл, проблема в том, что права доступа к файлу довольно нестабильный, и я не знаю хорошего способа автоматически синхронизировать обе базы данных. Есть ли какой-то инструмент, чтобы помочь в этом отношении?

Yamanqui
источник
Посмотрите на HTTP-репликатор . Это кеширующий прокси для файлов. Когда он получает запрос на файл, он сначала проверяет свою локальную копию в кеше и только при отсутствии кэшированного файла получает его из удаленного ресурса. Не уверен, как он обрабатывает авторизацию. Также нет поддержки HTTPS. Написано на Python. Вероятно, не лучший вариант для вас.
VL-80