我可以使用 Nginx 将子域名重定向到带有通配符的子域名吗?

我可以使用 Nginx 将子域名重定向到带有通配符的子域名吗?

我希望能够将 https://www.*.whanganuionline.com 等域名重定向到 https://*.whanganuionline.com 的同一子域名。我们对域名 *.whanganuionline.com 有通配符 SSL,但没有二级子域名。

我曾尝试使用正则表达式 server_name 指令来检测并处理这些二级子域名,但不起作用。Google Chrome 只会显示域名的 www 版本和整页警告,抱怨证书错误。(我还没有尝试过其他浏览器,但预计结果相同,因为我知道我的证书不涵盖二级子域名。)

server {
  listen       443 ssl;
  listen       [::]:443 ssl; # ipv6only=on;

  server_name ~^www\.(?<newhost>.*)\.whanganuionline\.com ;

  return 302 https://$newhost$request_uri;


}

我不确定重定向是否因为二级子域名缺少 SSL 证书(即使重定向了)或其他原因而无法正常工作,或者我该如何调试它?我尝试在某些 error_log 语句的末尾添加“debug”,但没有看到任何有用的信息。

我的服务器块正确吗?如何判断它是否被调用,以及在没有二级子域上的有效 SSL 证书的情况下它是否可以工作?

相关内容