我们在 AWS 上运行了多台 LAMP 服务器,上面有几十个网站,客户付钱让我们设计、构建和托管这些网站。这些服务器是安装了 Varnish、Apache 和 PHP 的 Ubuntu 14.04 服务器。
目前,如果客户希望其网站使用 SSL/TLS,我们会在服务器前面放置一个 Amazon ELB 负载均衡器来卸载 TLS 连接,这样 Varnish 仍然可以缓存内容。因此,每台服务器最终都由六个 ELB(每个 TLS 客户或网站一个)前置,而非 TLS 网站则由服务器直接处理。
为了降低成本并简化设置,我们希望消除所有 ELB 并直接在服务器上终止所有 TLS 连接。这可以通过在 Varnish 前面运行反向代理以及 Let's Encrypt 和 SNI 轻松实现。例如 Hitch、Traefik 或 Nginx。
有些网站尚未准备好使用 TLS。它们需要修复混合内容警告并防止 SEO 下降,而且并非所有客户都有预算。
我可以在服务器上打开端口 443,并运行反向代理,为所有“就绪”站点安装 TLS 证书。遗憾的是,客户端仍将能够连接到“未就绪”的站点,尽管它们将要出现证书错误(通用名称不匹配、自签名等)。我们当然不打算链接到“尚未准备好”网站的 HTTPS 版本,但有人仍可能会输入https://
。
我想防止所有网站(主要是 Google)的 SEO 排名下降。有人警告我,Googlebot 会发现“未准备好”网站的 HTTPS 版本,并索引它们,尽管证书错误,尽管它们没有被宣传为 HTTPS。这会给这些链接的访问者带来糟糕的体验,并导致严重的排名损失。SEO 排名很难获得,但很容易失去。
Googlebot(或许还有类似的机器人)如何处理“未准备好”网站的 HTTPS 版本?尽管网站已损坏且未做广告,它们会被编入索引吗?
通过 SNI 部分启用 HTTPS 时,如何减轻不良的副作用?