The below CLI commands can provide information on the usage of HTTP/2 on a specific NetScaler:
The show ns httpParam command shows whether HTTP/2 is enabled or not for communication to backend services. This is a global parameter for the NetScaler.
> show ns httpParam
Configured HTTP parameters:
Drop invalid HTTP requests: OFF
Mark HTTP/0.9 requests as invalid: OFF
Mark CONNECT requests as invalid: OFF
Insert Netscaler server header: OFF
Netscaler server header: NS13.1.49.15
Log HTTP error responses: ON
HTTP/2 server side: ON
Connection multiplexing: ENABLED
Max number of Reusepool connections: 0
Ignore Connect Coding Scheme: DISABLED
For the front-end connections (client to VIP) HTTP/2 can only be enabled by using an HTTP profile that has the HTTP/2 parameter enabled and binding that HTTP profile to the VIP where HTTP/2 is required. The show ns httpProfile command will show all configured HTTP profiles and there you can check whether any profile has HTTP/2 enabled, if any of them have HTTP/2 enabled, then you can check the bindings of that profile.
> show ns httpProfile
1) Name: nshttp_default_profile
Drop invalid HTTP requests: DISABLED
Mark HTTP/0.9 requests as invalid: DISABLED
Mark CONNECT requests as invalid: DISABLED
Mark TRACE requests as invalid: DISABLED
Mark RFC7230 non-compliant as invalid: DISABLED
Mark HTTP headers with extra WS as invalid: DISABLED
Allow only word characters and hyphen in Header Name: DISABLED
Pass Protocol Upgrade: ENABLED
Enabled compression on PUSH: DISABLED
Connection multiplexing: ENABLED
Max number of Reusepool connections: 0
Request Timeout: 0 sec (DISABLED)
Adaptive Request Timeout: DISABLED
Request Timeout Action:
Drop extra data from Server: DISABLED
Drop extra CRLF: ENABLED
Max Incomplete header delay: 7000 millisec
WebSocket Connections: DISABLED
Client IP header expression:
Weblogging: ENABLED
Max Requests per connection: 0 (DISABLED)
Persistent ETag: DISABLED
Reuse-pool timeout: 0 sec
Maximum header length: 24820 bytes
Maximum header field length: 24820 bytes
RTSP Tunnel: DISABLED
Min number of Reusepool connections: 0
HTTP/2: DISABLED
HTTP/2 Header Table Size: 4096
HTTP/2 Initial connection flow-control window size: 65535
HTTP/2 Initial stream flow-control window size: 65535
HTTP/2 Maximum Concurrent Streams: 100
HTTP/2 Maximum Frame Size: 16384
HTTP/2 Maximum Header List Size: 24576
HTTP/2 Direct: DISABLED
HTTP/2 Alternative Services Frame: DISABLED
Alternative Service: DISABLED
Alternative Services Header Value:
HTTP/2 Minimum Server Connections: 20
HTTP/2 Max Ping Frames Per Min: 60
HTTP/2 Max Settings Frames Per Min: 15
HTTP/2 Max Reset Frames Per Min: 90
HTTP/2 Max Empty Frames Per Min: 60
HTTP/2 Strict Cipher: ENABLED
HTTP/3: DISABLED
HTTP/3 maximum header field section size: 24576
HTTP/3 maximum header table size: 4096
HTTP/3 maximum header blocked streams: 100
gRPC Buffer Limit: 131072
gRPC Buffer Timeout: 1000
gRPC Length Delimited Message: ENABLED
Apdex Client Response Threshold: 500
HTTP pipeline req buffer size: 131072
Reference count: 40444
Once you identify any HTTP Profiles that have HTTP/2 enabled, then you can check if they are bound to any entity by using the command sh run | grep -i "httpProfileName InsertYourHTTPProfileNameHere"