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