我可以在与 non-SSL/TLS 网站共享的服务器上安全地启用 HTTP/2 吗?

Can I safely enable HTTP/2 on a server shared with non-SSL/TLS websites?

我管理一台服务器(托管 VPS),我们将其用作我们为客户构建的网站的共享托管环境。我们今后构建的所有新站点都将 运行 使用 HTTPS,但大多数旧站点未配置为支持 HTTPS。我们可能很快就会将它们全部转换,但我们还没有完全做到这一点。

我想启用 HTTP/2 以便新站点可以利用它,但我不能干扰必须通过 HTTP/1 继续提供服务的旧站点现在。没有 SSL/TLS 证书的站点会自动回退到 HTTP/1,还是浏览器会检测到 HTTP/2 支持并尝试通过 SSL/TLS 连接,从而产生无效的证书安全警告?我 can/should 做了什么来确保正确的行为吗?

我们是 运行 CentOS 6 上的 Plesk Onyx 17,使用带有 nginx 的 Apache 作为反向代理,如果有任何重要的话。

upstream oldhttp1site {
  server 127.0.0.1:8000;  # Apache instance listens on port 8000
}

upstream newhttp2site {
  server 127.0.0.1:8001;
}

http {
    server {
        listen      80;
        server_name www.domain1.com;
        proxy_pass http://localhost:8000/;
    }

    server {
        listen 443 ssl http2 default_server;
        server_name www.domain2.com;

        ssl_certificate /path-to/yoursite.chain.crt;
        ssl_certificate_key /path-to/yoursite.key;
        # other HTTP/2 and SSL specific settings 

        proxy_pass http://localhost:8001/;
    }
}

这绝对有可能。只是给你一个基本的想法。