2

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

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

我们在 CentOS 6 上运行 Plesk Onyx 17,使用 Apache 和 nginx 作为反向代理,如果其中任何一项很重要的话。

4

1 回答 1

0
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/;
    }
}

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

于 2016-12-09T17:12:31.393 回答