nginx 配置 https 重定向

本贴最后更新于 199 天前,其中的信息可能已经渤澥桑田

配置 HTTPS 重定向

我们建议您安装从 HTTP 到 HTTPS 的重定向。这样,您的网站访问者将只能访问您网站的安全版本。

为此,您需要在配置文件中添加一行,其中包含端口 80 的服务器块。

尖端:

  • *您可以使用以下命令之一来查找现在启用的配置文件:

sudo nginx -T | grep -iw "configuration file"

sudo nginx -T | grep -iw "include"

  • *conf 文件的默认路径是:

在基于 RHEL 的 Linux 操作系统上:<b>/etc/nginx/conf.d/default.conf</b>

在基于 Debian 的 Linux 操作系统上:<b>/etc/nginx/sites-enabled/default</b>

  • *您可以打开这些文件来检查哪一个包含所需的服务器块。为此,请运行:

sudo nano name_of_the_file

找到包含端口 80(默认 HTTP 端口)的服务器块的文件后,添加以下行:

return 301 https://$server_name$request_uri;

<b>Note</b>: The above redirect rule should be entered as the last line in the server block.

  • <b>return</b><span> </span> 是要使用的主要指令。
  • <b>301</b><span> </span> 是永久重定向(302 是临时重定向)。
  • <b>https</b><span> </span> 是一个指定的方案类型(显式的而不是 <b>$scheme<span> </span></b> 变量)。
  • <b>$server_name</b><span> </span> 变量将使用 server_name 指令中指定的域。
  • <b>$request_uri</b><span> </span> 变量用于匹配网站所请求页面/部分的路径(域名后面的所有内容)。

以下是具有 HTTPS 重定向的服务器块的示例:

永久重定向到 HTTPS

server {

listen 80;

server_name your_domain.com www.your_domain.com;

<b>return 301 https://$server_name$request_uri;</b>

}

永久重定向到 HTTPS 非 www

server {

listen 80;

server_name your_domain.com www.your_domain.com;

<b>return 301 https://your_domain.com$request_uri;</b>

}

永久重定向到 HTTPS www

server {

listen 80;

server_name your_domain.com www.your_domain.com;

<b>return 301 https://www.your_domain.com$request_uri;</b>

}

临时重定向到 HTTPS 非 www

server {

listen 80;

server_name your_domain.com www.your_domain.com;

<b>return 302 https://your_domain.com$request_uri;</b>

}

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 33 关注
  • HTTPS
    98 引用 • 271 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...