1

Ich möchte AWS Elastic-Lastenausgleich (ELB) v2 Anwendung Load Balancer mit HTTP 2.0 verwenden. Ich versuche herauszufinden, ob es Next Protocol Negotiation (NPN) unterstützt, welches in den offiziellen Spezifikationen durch ALPN ersetzt wurde.Unterstützt AWS Elastic Load Balancer (ELB) v2 Next Protocol Negotiation (NPN)

Ich brauche NPN, weil ich einige ältere Android-Clients habe, die HTTP 2.0 verwenden müssen. NGINX hat die Fähigkeit, NPN ohne SPDY einzuschalten (ich brauche SPDY nicht, nur NPN). Da ELB auf NGINX basiert, dachte ich, es könnte aktiviert sein.

Wenn ich durch die ELB-Dokumente blicke, kann ich keine Erwähnung von ALPN oder NPN finden.

Antwort

1

Wenn Sie curl verwenden, um eine Verbindung zu einer Instanz des Anwendungslastenausgleichs herzustellen, werden sowohl NPN als auch ALPN unterstützt.

Ohne Optionen:

$ curl --verbose -I --http2 https://example.com 2>&1 | grep ALPN 
* ALPN, offering h2 
* ALPN, offering http/1.1 
* ALPN, server accepted to use h2 

Telling curl explizit nicht ALPN verwenden:

$ curl --no-alpn --verbose -I --http2 https://example.com 2>&1 | grep NPN 
* NPN, negotiated HTTP2 (h2) 

In beiden Fällen wird die Anfrage serviert wurde mit HTTP/2.

Ich habe mit einem Application Load Balancer getestet, der auf eine neue EC2-Instanz abzielt, die nginx auf Port 80 ausführt (d. H. Es macht keinen Unterschied, was das Backend unterstützt).

+0

Vielen Dank, mein Herr, ich bin sehr verpflichtet. –

Verwandte Themen