Рейтинг:0

(nginx) можно ли сохранить протокол http?

флаг cn

У меня есть внутренний сервер, который получает HTTP/1.1, Открытый текст HTTP/2.0, открытый текст grpc через HTTP/2.0 (без ТЛС).

Я хочу использовать nginx для получения HTTP-запроса от пользователя (HTTP/1.1, HTTP/2, и т. д.) и передать серверной части, сохранив версию HTTP без использования сквозной передачи.

Итак, желаемое состояние ниже.

1. клиент <-(открытый текст HTTP/1.1)-> nginx <-(открытый текст HTTP/1.1)-> серверная часть
2. клиент <-(открытый текст HTTP/2)-> nginx <-(открытый текст HTTP/2)-> серверная часть
3. клиент <-(grpc через открытый текст HTTP/2)-> nginx <-(grpc через открытый текст HTTP/2)-> серверная часть
на тот же ip, тот же порт.

Это возможно?

user9517 avatar
флаг cn
Поиск — ваш друг https://serverfault.com/search?q=nginx+reverse+proxy+
флаг cn
Bob
Вам, вероятно, нужен проход, потому что модуль обратного прокси nginx и директива [`proxy_http_version`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version) позволяют выбрать только версию протокола HTTP `1.0 ` или `1.1`, а общение с бэкендами через HTTP/2 вообще не поддерживается. См. этот вопрос и ответ https://serverfault.com/questions/765258/use-http-2-0-between-nginx-reverse-proxy-and-backend-webserver

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.