Добрый день!
Есть необходимость организовать описанную ниже схему.
Интересует мнение коллег имеющих подобный опыт. Где можно ознакомиться с реализацией подобной схемы? Что почитать? Есть ли вариант лучше? Что можете посоветовать (опираясь на свой опыт)? Не хочется ошибиться еще до начала реализации поставленной задачи.
см.
http://habrastorage.org/files/aa8/7c4/4ba/aa87c44ba8bb42b2ae739cc4f3641329.jpg
***Получение файла с сервера:***
1. Клиент посылает запрос web-серверу по http или https. Запрос обрабатывается php скриптом.
Например: https://my.example.com/download.php?id=111;uname=test.txt
2. Web-сервер (скрипт) проверяет права на доступ к этому файлу и определяет на каком из удаленных серверов находится нужный файл. При этом происходит обращение к серверу БД.
3. Web-сервер (скрипт) запрашивает нужный файл с удаленного сервера по http или по https и отдает его клиенту.
Клиент ни чего не должен знать про удаленный сервер, т.е. во всех headers должен фигурировать только my.example.com.
Как вариант отправка заголовка X-Accel-Redirect серверу nginx, что бы проксировать файл без лишнего скачивания.
***Загрузка файла на сервер:***
1. Клиент отправляет файл на web-сервер по http или https. Запрос так же обрабатывается скриптом.
2. Web-сервер (скрипт) определяет на каком из удаленных серверов будет находиться нужный файл и отправляет его туда по WebDAV.
3. Если файл успешно сохранен на файловом сервере скрипт вносит соответствующую запись в БД.
Заранее благодарен!