社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

Nginx如何将HTTP通过301重定向跳转到HTTPS

蓝点网 • 7 年前 • 1095 次点击  

网站部署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.lovestory.hk lovestory.hk;
 #将HTTP 301 重定向到 HTTPS 开始
 rewrite ^(.*)$ https://$host$1 permanent;
 #将HTTP 301 重定向到 HTTPS 结束
 index index.html index.htm index.php
}

如果你此前已配置HTTPS还会看到监听443端口的Server,但我们修改只需要将rewrite代码添加至80端口下。

修改好再通过FTP工具将 conf 文件覆盖此前的目录, 然后利用SSH工具连接服务器再重启下Nginx服务即可。

重启命令:service nginx restart

建议顺手部署HSTS公钥扎钉:[指南] 如何配置使用HTTP严格传输安全HSTS  (蓝点网搜索关键词 HSTS)

点击阅读原文按钮查看更多精彩内容



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/nVbfl24LFM
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2440
 
1095 次点击