public static SslContext configureSSLWithH2Disabled(SslContextFactory sslContextFactory, String host) {

        ApplicationProtocolConfig apn = new ApplicationProtocolConfig(
                ApplicationProtocolConfig.Protocol.ALPN,
                // NO_ADVERTISE is currently the only mode supported by both OpenSsl and JDK providers.
                ApplicationProtocolConfig.SelectorFailureBehavior.NO_ADVERTISE,
                // ACCEPT is currently the only mode supported by both OpenSsl and JDK providers.
                ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT,
                ApplicationProtocolNames.HTTP_1_1);
        SslContext sslContext;
        try {
            sslContext = sslContextFactory
                    .createBuilderForServer()
                    .applicationProtocolConfig(apn)
                    .build();
        } catch (SSLException e) {
            throw new RuntimeException("Error configuring SslContext with ALPN!", e);
        }

        sslContextFactory.enableSessionTickets(sslContext);
        sslContextFactory.configureOpenSslStatsMetrics(sslContext, host);
        return sslContext;
    }
This is meant to be use in cases where the server wishes not to advertise h2 as part of ALPN.
zuul-core/src/main/java/com/netflix/zuul/netty/server/http2/Http2Configuration.java