服务器

Nginx HTTP通过301重定向跳转HTTPS

位置:首页 > 服务器 > 服务器搭建,2019-03-14 15:41
网站部署HTTPS加密连接协议后通常在刚开始我们会允许用户通过 HTTP或者HTTPS 两个版本进行自由访问。在测试 HTTPS 版已经没有问题的情况下那么基于
网站部署HTTPS加密连接协议后通常在刚开始我们会允许用户通过 HTTP或者HTTPS 两个版本进行自由访问。


在测试 HTTPS 版已经没有问题的情况下那么基于安全性考虑已经没有必要再让用户访问HTTP明文连接版本。


因此我们需要将HTTP版的所有访问强制跳转到HTTPS版,同时为安全起见建议顺手部署HSTS 公钥扎钉功能。


Nginx HTTP 301 HTTPS


主要还是修改虚拟主机的配置文件让 Nginx直接rewrite重写,所以首先我们下找到Nginx虚拟主机配置文件。


诸如LNMP集成安装包等的虚拟主机配置文件位于:


/usr/local/nginx/conf/vhost/

为了方便我们直接使用FTP工具将对应的域名配置文件下载到本地再用Notepad++等编辑器打开编辑:


server
 {
 listen 80;
 #listen [::]:80;
 server_name www.ablanxue.com ablanxue.com;
 #将HTTP 301 重定向到 HTTPS 开始
 rewrite ^(.*)$ https://$host$1 permanent;
 #将HTTP 301 重定向到 HTTPS 结束
 index index.html index.htm index.php default.html default.htm default.php;
}

如果你此前已配置HTTPS还会看到监听443端口的Server,但我们修改只需要将rewrite代码添加至80端口下。 修改好再通过FTP工具将 conf 文件覆盖此前的目录, 然后利用SSH工具连接服务器再重启下Nginx服务即可。 重启命令:service nginx restart

TAGS:Nginx HTTP转HTTPS

猜你喜欢

NewHot