nginx 中的 HTTPS 重定向

nginx 中的 HTTPS 重定向

我正在尝试将所有 HTTP 流量重定向到 HTTPS。我使用的 Web 服务器是 nginx。这是我用来执行重定向的服务器块。

server {
    listen      80;
    rewrite ^ https://$server_name$request_uri? permanent;
}

这成功地将 URL 重定向http://localhosthttps://localhost。但是,对于像http://localhost/table/我这样的 URL,重定向到https://table是不正确的。我希望它重定向到https://localhost/table/

任何帮助将非常感激。

更新:重写方案似乎在尾部斜杠方面存在问题。例如,http://localhost/table可以正确重定向,但http://localhost/table/不能。

答案1

server {
    listen 80;
    rewrite 301 https://$host$request_uri;
}

http://nginx.org/en/docs/http/ngx_http_core_module.html#variables

相关内容