How to Configure HTTP/2 Server Side Support in NetScaler 12.0 56.20

How to Configure HTTP/2 Server Side Support in NetScaler 12.0 56.20

book

Article ID: CTX230559

calendar_today

Updated On:

Description

HTTP/2 is a major version of HTTP network protocol which addresses the limitations of HTTP/1.1 protocol.

The mechanism for framing the data and transportation between client and server has changed from the previous HTTP protocol version.

The major improvement over HTTP/1.1 are:

  • Request streaming and multiplexing
  • No head of line blocking
  • Header compression
  • Flow control
  • Request Priority

This provides end-to-end HTTP/2 support from client to NetScaler and from NetScaler to backend server.

For server side HTTP/2 connections, NetScaler will look for active HTTP/2 connections from the available server pool for selected backend server. If it does not exist, NetScaler will create the new HTTP/2 connection with backend server (if HTTP/2 is enabled) by sending UPGRADE header.

HTTP2 Flow Diagram


Instructions

  1. Enable HTTP/2 globally through the GUI by navigating to System > Settings > Change HTTP Parameters, and selecting HTTP/2 on Server Side:Enable HTTP/2Alternatively, enable HTTP/2 globally through the CLI with the following command:

    set httpparam -http2ServerSide on

  2. Create an HTTP profile and enable HTTP/2:Enable HTTP2 in profileThere is also an option for 'Direct HTTP/2'. This feature sends the Connection Preface header (part of HTTP/2 protocol) to back-end servers assuming that it has HTTP/2 support. This feature saves one RTT if upcoming  communication takes place on HTTP/2.

    If back-end servers do not support HTTP/2 protocol, it will send 400 Bad request response to NetScaler. After parsing this response, NetScaler will fall-back to version HTTP/1.1 for further communications.

  3. Bind the HTTP Profile to a load balancing service.