У нас есть веб-сервер Java, который способен обслуживать контент через H2C (HTTP/2 незашифрованные)Обратного прокси HTTP/2 от h2 до H2C
Мы хотели бы, чтобы обратные прокси-соединение, установленное с использованием h2 (т.е. стандартной HTTP/2 через SSL) на java-сервер в h2c.
Включение HTTP/2 на nginx достаточно просто, и обработка входящих соединений h2 работает нормально.
Как мы можем сообщить nginx о прокси-соединении с использованием h2c, а не http/1.1?
Примечание: не-Nginx решение может быть приемлемым
server {
listen 443 ssl http2 default_server;
server_name localhost;
ssl_certificate /opt/nginx/certificates/???.pem;
ssl_certificate_key /opt/nginx/certificates/???.pk8.key.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location/{
proxy_pass http://localhost:8080/; ## <---- h2c here rather than http/1.1
}
}
ЗАКЛЮЧЕНИЕ (июнь 2016)
Это может быть сделано с помощью HAProxy файл конфигурации так просто, как это показано ниже.
Запрос (HttpServletRequest)
req.getProtocol()
явно возвращает HTTP/2.0
global
tune.ssl.default-dh-param 1024
defaults
timeout connect 10000ms
timeout client 60000ms
timeout server 60000ms
frontend fe_http
mode http
bind *:80
# Redirect to https
redirect scheme https code 301
frontend fe_https
mode tcp
bind *:443 ssl no-sslv3 crt mydomain.pem ciphers TLSv1.2 alpn h2,http/1.1
default_backend be_http
backend be_http
mode tcp
server domain 127.0.0.1:8080
Я предполагаю, что nginx не поддерживает это. http://nginx.org/r/proxy_http_version –
@AlexeyTen надеется, что это скоро .. Пошел с haproxy тем временем –
Я бы запросил значение в этом. Основным преимуществом HTTP/2 является подключение к клиент-серверу с высокой задержкой и, тем более, для соединений сервер-сервер с низкой задержкой. HTTP/2 станет будущим для большинства подключений (в том числе от сервера к серверу в конечном итоге), но отсутствие поддержки в настоящее время говорит о том, насколько это новое и, следовательно, целесообразно ли перейти к этому только на основе ограниченных возможностей , Просто мое мнение - и я большой поклонник HTTP/2 для клиентов, поэтому не пытаюсь преуменьшить преимущества там. –