Certbot Nginx: Server is speaking HTTP/2 over HTTP

Another possibility is that you have another port 80 server block that contains something like listen 80 http2; or http2 on;.

If this is the case, then every single port 80 server will be forced into H2C mode, which would result in your issues. You can't mix protocols in that fashion.

If you run nginx -T and search through the output for http2, it should yield something useful.

7 Likes