Nginx配置Https重定向 Chrome跳转到%2a.xxx.com的问题

Posted mrbourne

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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重定向 Chrome跳转到%2a.xxx.com的问题的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置http重定向到https

Nginx 配置旧域名重定向到新域名

Nginx Https配置不带www跳转www

nginx 80端口下HTTPS请求跳转到指定其他端口

nginx设置不带www的https跳转到带www的https地址

nginx 301重定向几种写法