【问题标题】:nginx dynamic HTTP/S resolves to https://_nginx 动态 HTTP/S 解析为 https://_
【发布时间】:2018-01-10 08:54:52
【问题描述】:

我正在尝试让我的 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;
}

【问题讨论】:

    标签: nginx https vhosts


    【解决方案1】:

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

    【讨论】:

    • 只需在测试时使用 302,直到您 100% 确定所有内容都按照您的意愿重定向。然后再次检查并将 302 替换为 301。
    • 相当愚蠢,但你为我节省了几个小时的时间,所以请采纳你的 +1
    • 我用头撞墙浪费了半个小时,直到我看到你的回答。谢谢。
    猜你喜欢
    • 2015-08-04
    • 2021-05-28
    • 2011-06-26
    • 2017-09-20
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多