当安装了 SSL 证书,并且网站可以通过 https:// 协议访问时,就该启用自动复位向,以确保每次请求 http://example.com 或 http://www.example.com 时,能够自动转到 https://example.com 或 https://www.example.com。
根据 Nginx 的相关参考资料,例如 这个,有几个指令可以用来实现我们的目标。我们将使用 'return' 指令,因为它是从对网络服务器性能的影响来看最简单且最有效的。
复位向特定网站
要将特定网站复位向到 https://,需要打开配置文件,并进入拦截端口 80 的服务器块(虚拟主机)(可以是主要的 nginx.conf 文件或其他专门的服务器块配置文件),并在块内添加以下行:
return 301 https://www.example.com$request_uri;

为所有网站设置默认复位向
可以设置一条复位向规则,适用于配置在给定 Nginx 网络服务器实例上的每个网站。我们需要修改用作访问服务器的默认服务器块。复位向指令需要使用 'server_name' 变量,而不是特定的域名:
return 301 https://$server_name$request_uri;

为特定目录启用 HTTPS 复位向
如果我们只需要来自特定活页夹的内容通过 https:// 提供服务,可以使用 'location' 指令:
location ^~ /test {
return 301 https://example.com$request_uri;
}
此规则定义了复位向仅适用于位于 'test' 目录内的文件及该目录本身。也可以通过为每个目录创建相应的 'location' 区块来复位向多个活页夹。

复位向特定页面
使用同样的 'location' 指令,我们可以为特定页面和文件强制使用 HTTPS 连接。复位向规则将显示如下:
location ^~ /test.txt {
return 301 https://example.com$request_uri;
}

我们介绍了使用 'return' 指令在 Nginx 上设置 HTTPS 复位向的几个常见用例。提供的规则集旨在展示基本配置选项。随意根据您的需求组合或修改它们,并参考 Nginx 文檔 了解更多相关内容。