【发布时间】:2017-04-23 00:00:57
【问题描述】:
我管理着一台服务器(托管 VPS),我们将其用作我们为客户构建的网站的共享托管环境。我们未来构建的所有新站点都将在 HTTPS 上运行,但大多数旧站点未配置为支持 HTTPS。我们可能很快就会将它们全部转换,但我们还没有完全实现。
我想启用 HTTP/2,以便新站点可以利用它,但我不能干扰现在必须继续通过 HTTP/1 提供服务的旧站点。没有 SSL/TLS 证书的站点会自动回退到 HTTP/1,还是浏览器会检测到 HTTP/2 支持并尝试通过 SSL/TLS 连接,从而产生无效的证书安全警告?我可以/应该做些什么来确保正确的行为?
我们在 CentOS 6 上运行 Plesk Onyx 17,使用 Apache 和 nginx 作为反向代理(如果有任何重要的话)。
【问题讨论】:
-
Nginx 能够为多个不同配置的站点提供服务,那么您可以让一个站点使用 HTTP/1 服务,其他站点使用 HTTP/2+HTTPS,那么这里有什么问题?
-
我不使用Plesk,它是否授予您编辑Nginx conf文件的权限?
-
我主要是一名开发人员,并使用 Plesk 进行大多数服务器管理。据我所知,在 Plesk 中,没有一个选项可以基于每个站点设置 HTTP 版本。我对 nginx 配置文件的熟悉程度有限,所以我完全有可能在这里遗漏了一个明显的答案。如果您建议我需要单独手动编辑每个站点的配置文件,这是一个有效的答案。但请注意,“共享主机”是指共享 IP 上的虚拟主机。我以为我读到nginx只能通过IP地址配置不同的HTTP协议。不过,如果这是唯一的解决方案,我可能会选择第二个 IP。
-
似乎有一个空间可以在每个站点的基础上输入 nginx 配置指令。所以这可能是这里最好的路线。
标签: ssl nginx https http2 server-administration