nginx 动态 HTTP/S 解析为 https://_

nginx dynamic HTTP/S resolves to https://_

我试图让我的 nginx 的所有流量都重定向到 HTTPS,与服务器名称无关。因此,任何其他虚拟主机都应重定向到其对应的 HTTPS。

example.com -> https://example.com
test.com -> https://test.com
...

然而,它没有使用传入的 $server_name$host(都尝试过),而是不断重定向到一个普通的 https://_。我的配置不正确吗?

server {
  listen        80 default_server;
  listen        [::]:80 default_server;
  server_name   _;
  return        301 https://$server_name$request_uri;
}

好吧,有点傻。如果您之前设置了任何无效配置(例如,将导致错误重定向的配置),浏览器将记住此重定向而无需再次询问服务器(根据 HTTP 301 - 永久移动)。因此,要么清除浏览器的数据,要么尝试使用其他浏览器。