我们的平台上有很多子域名通过以下方式托管:
server {
listen 443 ssl;
server_name *.company.com;
//...
}
不幸的是,这与www.something.company.com匹配请求,但SSL密钥不支持此功能,我想重定向以www开头的请求。对于请求的其余部分,例如:something.company.com。
这样做的最佳方式是什么?
我正在尝试使用不起作用的以下内容:
server_name *.company.com;
if ($host ~* ^www\.(.*\.company\.com)$) {
return 301 $scheme://$1;
}
答案 0 :(得分:0)
您无法通过重定向执行此操作:ssl / tls连接位于http请求和301重定向应答之前。但是您只有* .company.com证书,它只对一个级别(a.compaby.com)有效,而不是2个或更多(abcompany.com或www.a.company.com)。< / p>
唯一的解决方案是明确列出证书中的所有域。