Nginx 环境 SSL 强制 HTTP 301 跳转到 HTTPS
2017-07-27
次阅读
1 分钟阅读时长
今天在给服务器 SSL,配置成功后需要将 HTTP 用 301 跳转至 HTTP,才能统一 HTTPS 入口。
首先需要找到 Nginx 的配置文件:
/usr/local/nginx/conf/vhost
这是默认的地址,如果自定义了地址,就按照实际情况进行操作。
然后在 server{…} 里面插入一个 if 判断:
if ($scheme = http) {
return 301 https://$host$request_uri;
}
大概的意思就是, 如果 scheme 是 http,则返回 301 状态码,并重定向至 https:// 域名 地址还有一种就是判断端口的:
if ($server_port = 80) {
return 301 https://$host$request_uri;
}
因为 http 是走 80 端口的,而 https 是443,所以对端口进行判断也是可以的。
最后保存配置文件,并重启 Nginx 服务。
这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。