【问题标题】:NGINX redirect to sslNGINX 重定向到 ssl
【发布时间】:2018-01-17 05:06:16
【问题描述】:

我正在尝试将所有请求重定向到 https,包括子域。所以我这样做:

server_name subdomain.example.com www.subdomain.example.com example.com www.example.com
rewrite     ^   https://$server_name$request_uri? permanent;

如果我得到http://example.com,它会重定向到https://example.com。但是,如果我得到 www.example.com,它会重定向到 https://subdomain.example.com,其中子域是我网站内的微型站点。 知道使用 www 有什么问题吗?

【问题讨论】:

  • 它是否缓存在您的浏览器中?可能想在不同的浏览器中测试或使用 curl。
  • 否,在不同的设备中

标签: ssl redirect nginx


【解决方案1】:

根据documentation

$server_name 包含处理请求的虚拟主机的 server_name,它在 nginx 配置中定义。如果一个服务器包含多个server_names,那么只有第一个会出现在这个变量中。

$host 在这种情况下可能是更好的选择,它包含“按此优先顺序:请求行中的主机名,或“主机”请求标头字段中的主机名,或与请求匹配的服务器名称”

即类似return 301 https://$host$request_uri;

$http_host 也是一个选项,因为它包含 HTTP“主机”标头字段的内容(如果它存在于请求中)

Rewrite vs Return Pitfalls

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2016-04-02
    • 2014-11-16
    • 2015-02-26
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    相关资源
    最近更新 更多