
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
![]() |
|
Сообщ.
#1
,
|
|
|
Ситуация такая: представьте себе что есть два сервера (S1 и S2) + Клиет. На сервере S1 физически хранятся файлы, а на сервере S2 пусто.
Клиент обращается к серверу S2 с запросом какого-то файла, а сервер S2 запрашивает этот файл с сервера S1, и по мере того как данные передаются от S1 к S2 эти данные от S2 отдаются клиенту и не сохраняются на S2. В итоге получается, что клиент получил Файл хранящийся на сервере S1 через сервер S2, при этом клиент не знает о сервере S1, а на сервере S2 файла нету. Вот мне нужно решение для реализации такого сервера S2. Я не знаю как такой вид серверов называется, и нужен совет куда копать. |
Сообщ.
#2
,
|
|
|
Смотрите в сторону настройки http/https прокси.
https://nginx.org/ru/docs/http/ngx_http_pro...le.html#example |
Сообщ.
#3
,
|
|
|
Так, еще мои 5 копеек ... Если файл очень большой, то нужно обеспечить параллельное получение файла прокси сервером и параллельную отдачу клиенту скачанного. Для этого потребуются дополнительные настройки. Что-то типа:
![]() ![]() server { listen 80; location / { proxy_pass http://localhost:8000; # Тут нужен реальный адрес S1 proxy_set_header Host $host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_buffering off; # Отключение буферизации proxy_http_version 1.1; # Использование HTTP/1.1 для поддержки chunked transfer proxy_set_header Connection ""; # Отключаем заголовок Connection } } Но лучше конечно самостоятельно RTFM ![]() |