Nginx 将 http 默认跳转 https 的方法有多种,本文提供几种方法以作探讨。
分开处理 http 请求和 https 请求
使 Nginx 在接收到 http 请求时自动返回 307 状态码(永久重定向并且不丢失POST数据)。
1 | server { |
//Nginx 的497状态码(经测试,该方法无效)
497状态码的解释是497 - normal request was sent to HTTPS
。所以指定 497 状态码时跳转到 https
即可。
1 | server { |
Nginx 中执行判断
1 | if ($scheme != "https") { |
上述几种方法都可以成功将 http 请求跳转到 https,不过本人推荐第二种方式,配置简单并且符合规范。