今天配置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重定向问题时,首先考虑是不是服务器端配置影响的,如果不是,立马换一个浏览器,考虑客户端的问题。
原文地址:https://www.cnblogs.com/mrbourne/p/11122150.html
时间: 2024-10-07 17:42:48