Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SSL重定向到另一个SSL_Ssl_Nginx_Https_Amazon Elb - Fatal编程技术网

将SSL重定向到另一个SSL

将SSL重定向到另一个SSL,ssl,nginx,https,amazon-elb,Ssl,Nginx,Https,Amazon Elb,我得到了几个https://*.rest service.mydomain.com。随着服务数量的增加,我觉得管理SSL证书的成本很高。我为*.mydomain.com购买了一个通配符证书 新添加的服务放在带有新通配符证书的mydomain.com下,并且运行良好。然而,一如既往,遗产是一个问题 我仍然有很多https流量到https://*.rest service.mydomain.com,它的旧证书即将过期 在这种情况下,有没有好的方法将遗留https流量重定向到新的https流量 由于客

我得到了几个
https://*.rest service.mydomain.com
。随着服务数量的增加,我觉得管理SSL证书的成本很高。我为
*.mydomain.com
购买了一个通配符证书

新添加的服务放在带有新通配符证书的
mydomain.com
下,并且运行良好。然而,一如既往,遗产是一个问题

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

在这种情况下,有没有好的方法将遗留https流量重定向到新的https流量

由于客户端仍然只知道遗留端点
https://*.rest service.mydomain.com
,我是否可以将客户端重定向到新服务器
https://*.mydomain.com
,并同时处理请求


我将nginx用作web服务器,将ELB用作负载平衡器。

试试这个regexp-ed服务器:

server {
  server_name  ~^(?P<subdomain>.+)\.rest-service\.mydomain\.com$;
  listen 443 ssl;
  return 301 https://$subdomain.mydomain.com$request_uri;
}
服务器{
服务器名称^(?P.+)\.rest服务\.mydomain\.com$;
听443ssl;
返回301 https://$subdomain.mydomain.com$request\u uri;
}
。。。它的旧证书即将过期

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

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