专栏首页沈唁志解决网站因重定向次数过多无法访问的方法

解决网站因重定向次数过多无法访问的方法

博客的 SSL 证书快过期了,正好有空就给换了一下,结果就因为换了个证书网站无法访问了,提示重定向次数过多,看了一下请求好多个 301 请求

先检查一下 Nginx 的配置,看了一下没什么问题啊,之前一直是这样的,就是换了个证书 怎么会重定向那么多次呢

关掉 HTTPS 访问,因为加入了 HSTS,所以直接 307 到 HTTPS了,证明 80 端口是没有问题的

删掉所有的 301 重定向配置再试一下,结果还是有问题

在配置文件中加一个错误日志看看

error_log /www/wwwlogs/qq52o_error.log notice;

运行一下网站,去看一下错误日志是空的

这里还是要忍不住吐槽一下宝塔,真辣鸡,软件管理中的各软件设置居然不能点击了,控制台报错

Uncaught TypeError: bt.soft.set_soft_config is not a function at HTMLAnchorElement.onclick 

行吧,可视化操作不让我用,我用命令行呗,连接服务器,执行如下命令

/etc/init.d/nginx configtest

测试一下这个配置有什么问题,这下终于有提示了

[root@qq52o ~]# /etc/init.d/nginx configtest 
Test nginx configure files... 
nginx: [warn] conflicting server name "qq52o.me" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "www.qq52o.me" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "qq52o.cn" on 0.0.0.0:80, ignored
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful

意思是重复绑定了server name,但这个警告不会影响到服务器运行

我的配置文件确实是两个server配置,发现第一个server中还有一个 301 的重定向

server {
    listen 80;
    listen 443 ssl http2;
    server_name qq52o.me www.qq52o.me qq52o.cn;
    return 301 https://qq52o.me$request_uri;
}

server {
    server_name qq52o.me www.qq52o.me qq52o.cn;
    # 以下忽略

之前这样也没什么问题,现在感觉有点多余,把第二个server和第一个server进行合并,去掉 301 和多余的server_name

重载 Nginx 服务以后访问就正常了,尴尬,配置坑死人

这个跟我之前遇到情况一样,生成分页多加了一个/,导致直接缺省协议了

比如正常的分页是/crm/list/?page=2,缺省协议以后//crm/list/?page=2

正常分页访问的是域名加上这个/crm/list/?page=2,而缺省协议会直接访问http://crm/list/?page=2,导致分页出错

刚开始我以为是方法的问题,结果后来让大佬找了一下,告诉我是 Nginx 配置的问题,反向代理的时候多了一个/

就说这些,多检查配置基本上不会有多大问题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 『高级篇』docker之安全认证kubernetes命令熟悉(40)

    PS:基本就是测试下安全认证的k8s是否可以正常的使用,也使用了几个命令,其实我感觉,kubernetes 跟docker的命令很类似,环境搭建是大头,环境能搭...

    IT故事会
  • 『高级篇』docker之kubernetes基础集群命令小实战(35)

    IT故事会
  • nginx负载均衡实验

    超蛋lhy
  • Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级) - 运维笔记

    对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送...

    洗尽了浮华
  • Nginx从入门到学会--5.必会的重要概念

    在nginx中connection就是对tcp连接的封装,其中包括连接的socket,读事件,写事件。利用nginx封装的connection,我们可以很方便的...

    后端技术探索
  • 超详细 Nginx 极简教程,傻瓜一看也会!

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

    Java技术栈
  • ThinkPHP5.1 配置Nginx/Apache下的 URL重写

    用户3056046
  • 利用Drupal漏洞进行传播的挖矿僵尸病毒分析

    在对服务器进行例行性检查的时候,在一台ngix服务器的日志文件access.log里面发现了一些奇怪的访问记录,如下表所示。备注,这台Ngix 服务器安装win...

    FB客服
  • 分享影院CMS源码带会员中心(价值50元)

    环境需求:IIS/Apache/Nginx + PHP5.2 PHP5.3 PHP5.4 + MySQL5

    用户1540965
  • 一次nginx引起的线上502故障

    今天突然接到某PM的求救,说微信支付到应用的请求一直返回502,于是初步了解完情况后,就进入了问题排查阶段。

    天策

扫码关注云+社区

领取腾讯云代金券