nginx теперь поддерживает прокси-серверы, но мне не удалось найти информацию о том, как это сделать, не имея отдельного блока location, который применяется к URI, на которых используются веб-сайты.
Я видел некоторых людей, рекомендующих некоторые варианты этого подхода:
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://host:port;
}
Будет ли это правильным способом для прокси-сервера стандартного HTTP, а также для websockets? Я не хочу, чтобы заголовок Upgrade или Connection был установлен на "upgrade", если только это не было отправлено браузером, но эти строки proxy_set_header необходимы для работы web-камер. Почему nginx просто пересылает исходные заголовки Upgrade/Connection?
Я экспериментировал с этим и обнаружил, что nginx не проксирует заголовок Upgrade и изменяет заголовок Connection на "close" из "upgrade", если он работает без двух строк proxy_set_header. С ними Connection является "обновлением" для запросов без websocket, что также плохо.
Спасибо:)