将 SSL 重定向到另一个 SSL

Redirect SSL to another SSL

我有几个 https://*.rest-service.mydomain.com。随着服务数量的增加,我觉得管理 SSL 证书的成本很高。我为 *.mydomain.com.

购买了通配符证书

新添加的服务使用新的通配符证书放在 mydomain.com 下,并且运行良好。但是,与往常一样,遗留问题是一个问题。

我还有很多 https 流量到 https://*.rest-service.mydomain.com,它的旧证书即将过期。

在这种情况下,有什么好的方法可以将旧的 https 流量重定向到新的吗?

由于客户端仍然只知道旧端点 https://*.rest-service.mydomain.com,我可以将客户端重定向到新服务器 https://*.mydomain.com 并处理请求吗?

我使用 nginx 作为 Web 服务器,使用 ELB 作为负载均衡器。

试试这个正则表达式服务器:

server {
  server_name  ~^(?P<subdomain>.+)\.rest-service\.mydomain\.com$;
  listen 443 ssl;
  return 301 https://$subdomain.mydomain.com$request_uri;
}

... and its old cert is going to expire.

虽然您可以从 ssl 重定向到 ssl(请参阅其他答案),但您仍然需要为您重定向的主机提供有效证书。这意味着一旦旧证书过期,重定向将停止工作(或至少导致证书验证错误)。要解决此问题,您需要更新证书。

除此之外,您必须确保服务确实可以处理重定向。虽然浏览器以透明的方式为用户处理重定向,但对于使用 REST API 的应用程序来说,情况并非如此。这些可能希望直接获得响应,而不是他们必须遵循并重新提交 REST 请求的重定向。