今天在给服务器 SSL,配置成功后需要将 HTTP 用 301 跳转至 HTTP,才能统一 HTTPS 入口。

首先需要找到 Nginx 的配置文件:

1
/usr/local/nginx/conf/vhost

这是默认的地址,如果自定义了地址,就按照实际情况进行操作。

然后在 server{…} 里面插入一个 if 判断:

1
2
3
if ($scheme = http ) {
    return 301 https://$host$request_uri;
}

大概的意思就是, 如果 scheme 是 http,则返回 301 状态码,并重定向至 https:// 域名 地址还有一种就是判断端口的:

1
2
3
if ($server_port = 80 ) {
    return 301 https://$host$request_uri;
}

因为 http 是走 80 端口的,而 https 是443,所以对端口进行判断也是可以的。

最后保存配置文件,并重启 Nginx 服务。

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。