将SSL重定向到另一个SSL

时间:2015-10-07 03:09:56

标签: ssl nginx https amazon-elb

我有几个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作为负载均衡器。

2 个答案:

答案 0 :(得分:2)

  

......它的旧证书即将到期。

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

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

答案 1 :(得分:1)

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

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