Могу ли я, чтобы мой сервер cloudrun получал запросы http / 2? - PullRequest
2 голосов
/ 15 апреля 2020

Могу ли я, чтобы Google отправлял запросы http / 2 на мой сервер в облачном режиме?

Я не уверен, как Google узнает, что мой сервер поддерживает его, так как Google прекращает SSL на loadbalancer и отправляет http на Серверы без сохранения состояния в облаке работают.

Если возможно, я подумываю о том, чтобы взять несколько кусочков из веб-страниц и создать чистый сервер http / 2 без http1.1 для микросервисов, которые, как я знаю, будут выполнять только http / 2.

Кроме того, если у меня есть чистый сервер http / 2, есть ли способ, по которому Google переводит запросы http1 в http / 2 при необходимости, чтобы я мог также размещать сайты?

Единственный Информация, которую я мог найти, была отличным FAQ, который, кажется, отсутствует, поддерживает ли он http / 2 на стороне сервера (а не на клиенте) ...

https://github.com/ahmetb/cloud-run-faq

спасибо, Дин

1 Ответ

4 голосов
/ 15 апреля 2020
Контейнерный контракт

Cloud Run требует, чтобы ваше приложение работало на незашифрованной конечной точке HTTP. Однако это может быть HTTP / 1 или HTTP / 2.

Сегодня приложения gRP C работают в Cloud Run, а gRP C фактически использует HTTP / 2 в качестве своего транспорта. Это работает, потому что серверы gRP C (если не сконфигурированы с сертификатами TLS) используют протокол H2 C (незашифрованный HTTP / 2 незашифрованный).

Итак, если ваше приложение действительно может обслуживать трафик c в незашифрованном виде по протоколу h2 c, трафик c между балансировщиком нагрузки Cloud Run <=> вашего приложения может быть HTTP / 2, даже не понижаясь до HTTP / 1.

Например, в Go вы можете использовать пакет https://godoc.org/golang.org/x/net/http2/h2c для автоматического обнаружения и обновления подключений http2.

Чтобы проверить, реализует ли ваше приложение h2 c правильно, вам нужно выполнить локально:

curl -v --http2-prior-knowledge http://localhost:8080

и посмотреть ответ < HTTP/2 200.

(я обязательно добавлю это в репозиторий FAQ.)

...