Ngnix如何配置强制HTTPS访问?

如今越来越多的网站已经开始安装SSL证书 , 只要安装ssl证书之后 , 可以保障网站的数据安全 , 关于ssl证书的内容 , 之前已经介绍过很多了 , 今天为大家讲解的是Nginx 301永久重定向配置以及自动跳转https配置方法 。
一、Nginx 301 重定向跳转不支持 GET 参数的问题描述

Ngnix如何配置强制HTTPS访问?

文章插图
首先来看看子凡在 Nginx 配置文件中的一个 301 跳转的配置 , 看上去这就是一个 Nginx 环境标准通用的 301 重定向配置 , 并没有错误 , 也可以实现从 http 到 https 的 301 跳转 , 但是由于泪雪用户中心的头像调用有较大的开放性和适配度 , 所以可以直接通过动态的 GET 参数获取头像 , 例如:http://i.leiue.com/avatar.php?name=leixue,通过 HTTP 状态查询工具查询结果如下图:
Ngnix如何配置强制HTTPS访问?

文章插图
301 跳状态已经成功 , 但是我们仔细看 Location 返回的值就是:https://i.leiue.com/avatar.php?name=leixue?name=leixue , 已经不仅仅是将 http 换成 https 了 , 而是后面的 GET 参数也被重复了一遍 , 所以也就导致了最后的 301 重定向跳转失败和错误了 。
二、Nginx 301 重定向跳转支持 GET 参数的配置方法
通过上述子凡的一些经历做过简单的描述和验证后 , 只是初步的发现了问题 , 而接下来需要的就是解决这个问题 , 那么最简单直接的还是直接上 Nginx 的配置代码:
Ngnix如何配置强制HTTPS访问?

文章插图
【Ngnix如何配置强制HTTPS访问?】经过简单的修改后 , 就已经完美解决问题 , 有点正则的感觉 , 所以如果大家在做 Nginx 的 301 跳转的时候可以稍微的注意一下 , 或者你也在做 301 跳转的时候遇到过一些错误 , 不妨试试这个方法 。




    推荐阅读