#Устанавливает заголовок Upgrade для проксируемого запроса. Этот заголовок необходим для протоколов вроде WebSocket, которые могут требовать обновления соединения с HTTP до другого протокола
#Устанавливает заголовок Connection: upgrade, чтобы указать, что соединение должно быть обновлено (например, для WebSocket).
proxy_set_header Connection "upgrade";
#Отключает буферизацию ответов на стороне Nginx. Обычно Nginx буферизует ответы перед отправкой их клиенту, но при отключении буферизации ответы сразу же передаются клиенту по мере их поступления от проксируемого сервера. Это может быть полезно для долгоживущих соединений (например, WebSocket или серверных событий).
proxy_buffering off;
#Устанавливает максимальный размер тела запроса, который может быть принят от клиента, в 0, что означает отсутствие ограничения. Это полезно для того, чтобы разрешить отправку больших файлов или данных через прокси.
client_max_body_size 0;
#Устанавливает максимальное время ожидания для подключения к проксируемому серверу. В данном случае таймаут составляет 3600 секунд (1 час).
proxy_connect_timeout 3600s;
#Устанавливает максимальное время ожидания для получения ответа от проксируемого сервера.
proxy_read_timeout 3600s;
#Устанавливает максимальное время, в течение которого Nginx должен передать запрос к проксируемому серверу. Если сервер не может принять данные за это время, соединение разрывается.
proxy_send_timeout 3600s;
#Устанавливает максимальное время, в течение которого клиент должен получать данные от Nginx. Это время ожидания для отправки ответа клиенту, если клиент слишком долго не принимает данные.
send_timeout 3600s;
}
}
#Полезен для логирования в приложениях
#Конфигурация для сохранения исходных данных клиента
#Передает оригинальный заголовок Host от клиента на конечный сервер. Это полезно для случаев, когда серверу важно знать исходное имя хоста, по которому клиент обратился.
proxy_set_header Host $host;
#Добавляет заголовок X-Real-IP, передающий фактический IP-адрес клиента, обратившегося к Nginx.
proxy_set_header X-Real-IP $remote_addr;
#Добавляет или дополняет заголовок X-Forwarded-For, который передает цепочку IP-адресов всех прокси-серверов, через которые прошел запрос, включая реальный IP клиента. Этот заголовок нужен, чтобы конечный сервер мог отслеживать IP-адреса клиентов, которые проходят через несколько прокси.
#Передает информацию о протоколе (HTTP или HTTPS), который использовался клиентом при обращении к Nginx. Это полезно, если конечный сервер должен знать, был ли запрос сделан через защищенное соединение.
proxy_set_header X-Forwarded-Proto $scheme;
#Обновлен 08.2024
#Заголовок заставляет браузеры всегда использовать HTTPS для взаимодействия с сервером, предотвращая атаки типа "downgrade" или "man-in-the-middle".