I am reading Golang's support for HTTP2, and it seems it is only enabled by default if you use https
https://go-review.googlesource.com/c/go/+/15828My questions are:
1. Does this mean I have to use ListenAndServeTLS() to enable http2 and if not, it will fallback to HTTP1.1?
2. Can I explicitly enable HTTP1.1 with https?
3. Can I explicitly enable HTTP2 without https?
I am asking because I might need to have a LB, or reverse proxy like nginx, in front of the app that's handling the SSL handshake.
If this is how my servers are set up, and HTTP2 is only enabled if TLS is enabled, does this mean I am stuck with HTTP1.1 unless I copy the certificate to all of instances?