nginx配置https,重定向后https变成了http
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置https,重定向后https变成了http相关的知识,希望对你有一定的参考价值。
参考技术A proxy_redirect http:// https://;rewrite ^ https:// request_uri? permanent;
https://www.cyberciti.biz/faq/linux-unix-nginx-redirect-all-http-to-https/
Nginx配置Https重定向 Chrome跳转到%2a.xxx.com的问题
今天配置Nginx的Https证书遇到了一个坑。
一般配置好证书后,都会配置一下https的重定向,让一般的http访问跳转到https访问去。
简单配置如下:
server
listen 80;
server_name www.sxsc.ltd sxsc.ltd stest.sxsc.ltd;
return 301 https://$server_name$request_uri;
配置好后,用chrome访问 www.sxsc.ltd 时,会莫名其妙跳转到 https://%2A.sxsc.ltd/。
我删除上面 www.sxsc.ltd的重定向配置后,重启nginx, 访问 www.sxsc.ltd 问题依旧。
我都把重定向的配置删掉了,为什么还是会重定向呢? 首先考虑是其他配置影响的,查看了nginx启动加载的所有配置文件,发现并没有相关配置影响。
于是考虑是否是nginx进程缓存了之前的配置,杀掉所有nginx进程后,问题还是存在。奇了怪了,为什么还会跳转呢?突然想到是不是浏览器的原因呢?
换火狐,访问 www.sxsc.ltd 发现不再跳转到 https://%2A.sxsc.ltd。
问题找到了,就是chrome可能会记录用户的重定向历史。
通过这个小问题,总结一点经验:
当遇到url重定向问题时,首先考虑是不是服务器端配置影响的,如果不是,立马换一个浏览器,考虑客户端的问题。
以上是关于nginx配置https,重定向后https变成了http的主要内容,如果未能解决你的问题,请参考以下文章
nginx 配置https 并解决重定向后https协议变成了http的问题
Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题