【已解决】xxljob连接报错HTTP 302(HTTP 401账号或密码错误)

目录

问题现象:

问题分析:

        1、密码中的特殊字符。

        2、密码长度问题。

解决方法:

拓展:


问题现象:

        今天在生产环境使用xxljob任务调度来创建并执行任务时,出现了程序报错:

        通过查询xxljob日志:

        定位到报错点的代码,检查代码并本地debug后,发现是没问题的;而且在开发环境、测试环境一直都能正常运行,为啥到生产环境就报错了呢?真是百思不得其解,后来只能不断翻看接口调用相关的服务日志,终于看到了一丝异常:在接口调用结束后,我发现了如图所示的信息::


问题分析:

        从图片中可以得知一下几个信息:

        1、从>> trigger Xxl-job << response关键词可知:这是本服务连接xxljob后,xxljob响应的相关信息;

        2、从[HTTP/1.1 302 Found]可知:这是重定向错误;

        3、从[keep-alive]可知:这应该是本服务和xxljob服务间的心跳检测机制,也就是会定期的发送连接请求来检查两服务间的正常通信;

        4、从Location所示地址可知:心跳机制的链接是xxljob服务的登录接口,通过浏览器访问就可以看到如下图所示的登录界面:

        当时看到这个302报错的时候,真的是一脸懵逼,为啥会是重定向错误呢?难道是ip有误?域名不对?服务间开启了防火墙导致无法调用?做了nginx转发后url写错了?

        于是我就去看了本服务中的xxljob配置:

        经过反反复复的检查,依旧发现不出任何问题。

        也试过ip和域名的方式访问xxljob,还是没有发现问题所在。

        最终只能采用最基础的方法:直接在自己的本地debug连接到生产环境的xxljob,看看是否也会报错,通过在本地调用xxljob的登录api,终于发现了问题真正的报错信息:

账号或密码错误

        至此,才明白原来并不是302报错,这应该是401报错才对啊!

        既然知道真正的报错信息,那问题就好办了。

        通过对比开发环境、测试环境、生产环境的账号和密码发现:

        三个环境的账号是一样的,那问题肯定就出在密码上面了,其中开发环境、测试环境的密码是一样的,生产环境的密码会复杂很多,毕竟是考虑了安全性

        1、密码中的特殊字符。

        2、密码长度问题。

        亲测发现,三个环境的密码都带有特殊字符,所以排除了原因1;通过上文中提到的xxljob的登录界面中输入密码发现,原来xxljob的密码长度上限是18位,超过18位后的输入无效;通过查看三个环境的密码发现:开发、测试环境的密码是一样的,且长度并未超过18位,而生产环境的密码刚好就是19位,超过了xxljob的密码长度上限(18位) 。

        终于定位到了问题原因,那接下来解决问题就变得非常简单了。


解决方法:

        首先是修改xxljob服务的密码,保证密码长度不超过18位;然后是修改各服务中调用的xxljob服务配置的密码;重启服务后即可正常连接了:


拓展:

        按我的理解【账号或密码错误】这个应该是属于HTTP 401错误才对,也就是身份认证失败,用户没有访问权限;实在没懂为什么心跳机制会出现HTTP 302错误?

        简单地在网上查了一下资料,发现找不到有和我类似情况的有用信息,希望有知道原因的大佬赐教一下!否则只能是自己在日后有时间上xxljob官网查查文档了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java集合(已重写-废弃了)

# 精辟总结 其实各种八股文资料&#xff0c;他也就是围绕着核心知识展开提问的&#xff0c;你只要根据八股文把核心知识提炼出来&#xff0c;形成核心知识体系&#xff01; Java集合那是重点中的重点。最基本的概念要懂&#xff0c;核心的概念&#xff0c;那要滚瓜烂熟。 Ja…

TEMU跨境平台与亚马逊检测认证几大认证您知道多少?

TEMU跨境平台与亚马逊检测认证几大认证您知道多少&#xff1f; TEMU跨境平台与亚马逊对于做外贸的人应该都不陌生,可是你是否知道产品入驻TEMU跨境平台与亚马逊需要办理的13大认证呢?如果你不知道,请认真阅读正面的内容,因为它关系着你的产品能否在TEMU跨境平台与亚马逊顺利上…

Cookie、Session、Token

Cookie 什么是Cookie Cookie是服务器发送给客户端并保存在客户端本地的一小块数据&#xff0c;能够在下次发送请求时携带Cookie。 Cookie是保存在客户端的&#xff0c;按存储位置分类&#xff0c;可以分为内存Cookie和硬盘Cookie。 Cookie的应用 Cookie主要用于几个方面&a…

vite的使用

vite说是面向未来的框架&#xff0c;支持esm模块化&#xff0c;虽然可以引入require插件来支持&#xff0c;commomjs不过介意别用&#xff0c;因为老旧的包和node版本问题也很多&#xff0c;对应升级的生态nuxt3和新的需要更新node版本18 20&#xff0c; 通常搭建vite就是引入l…

ROS第一个程序——helloworld

目录 一、工作空间的创建 1.创建工作空间并初始化 2.进入 src 创建 ros 包并添加依赖 二、C实现helloworld C源码实现 编辑 ros 包下的 Cmakelist.txt文件 进入工作空间目录并编译 执行 三、python实现helloworld 进入 ros 包添加 scripts 目录并编辑 python 文件 …

【源码篇】基于SpringBoot+thymeleaf实现的蓝天幼儿园管理系统

基于SpringBootthymeleaf实现的蓝天幼儿园管理系统 文章目录 系统说明技术选型成果展示账号地址及其他说明 系统说明 基于SpringBootthymeleaf实现的蓝天幼儿园管理系统是为幼儿园提供的一套管理平台&#xff0c;可以提高幼儿园信息管理的准确性&#xff0c;系统将信息准确无误…

883重要知识点

&#xff08;1&#xff09;程序结构分三种&#xff1a;顺序结构&#xff0c;选择结构&#xff0c;循环结构。 &#xff08;2&#xff09;该程序都要从main&#xff08;&#xff09;开始&#xff0c;然后从最上面往下。 &#xff08;3&#xff09;计算机的数据在电脑中保存以二…

vue+ts实现离线高德地图 内网离线高德地图

1、下载瓦片 我是用最简单的软件下载——MapDownloader 链接&#xff1a;https://pan.baidu.com/s/1Hz__HcA5QhtGmjLNezC_pQ 提取码&#xff1a;6lek 来源&#xff1a;https://blog.csdn.net/fuhanghang/article/details/131330034 2、部署私有化瓦片资源 这里也是用最简单的…

智能变压器监控系统

智能变压器监控系统是一种先进的物联网技术和智能设备&#xff0c;能够实现对变压器的实时监测和管理&#xff0c;提高变压器的运行效率和可靠性&#xff0c;为用户提供及时、准确的变压器运行状态信息和故障预警。 力安科技A30变压器云控终端是一款集变压器温控仪、变压器运行…

【每日一题】从二叉搜索树到更大和树

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;中序遍历的反序方法二&#xff1a;后缀数组 写在最后 Tag 【中序遍历】【二叉树】【2023-12-04】 题目来源 1038. 从二叉搜索树到更大和树 题目解读 在二叉搜索树中&#xff0c;将每一个节点的值替换成树中大于等于该…

百度查询界面自定义

文章目录 起因步骤 纯个人纪录 参考以下师傅链接 爱吃猫的鱼儿-浏览器设置夜间模式以及百度搜索结果单列居中 起因 发现百度查询结果都在左边&#xff0c;想着能不能居中&#xff0c;发现已经有前辈写了插件&#xff0c;遂安装使用&#xff0c;看下效果 步骤 安装插件暴力猴…

计算机基础知识63

Django的条件查询&#xff1a;查询函数 exclude exclude&#xff1a;返回不满足条件的数据 res Author.objects.exclude(pk1) print(res) # <QuerySet [<Author: Author object (2)>, <Author: Author object (3)>]> order_by 1、按照 id 升序排序 res …

Android启动系列之进程杀手--lmkd

本文概要 这是Android系统启动的第三篇文章&#xff0c;本文以自述的方式来讲解lmkd进程&#xff0c;通过本文您将了解到lmkd进程在安卓系统中存在的意义&#xff0c;以及它是如何杀进程的。&#xff08;文中的代码是基于android13&#xff09; 我是谁 init&#xff1a;“大…

LeetCode 232.用栈实现队列

题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回…

c题目14:写成一个函数,对数组进行排序

每日小语 一个人倘若需要从思想中得到快乐&#xff0c;那么他的第一个欲望就是学习。——王小波 自己思考 这不前几天刚搞的东西吗&#xff0c;就写成一个函数&#xff0c;这个有什么难的吗&#xff1f;我有时候那个分别心特重啊&#xff0c;真就别人拿到个啥好的比杀了我还难…

贸易公司ERP用什么软件好

不同行业的贸易公司有不同的业务结构和管理模式&#xff0c;日常经营管理过程中遇到的难点呈现多样化&#xff0c;而很多贸易公司在仓库、财务、销售、采购、订单、客户等业务一体化和部门协同效率等方面还有很多提升空间。 有些贸易公司涉及多仓库、多门店、多税制、多汇率、…

VUE2+THREE.JS 设定巡航行动轨迹

设定巡航行动轨迹 引入three.path初始化坐标点animate 执行行动轨迹动画参考博客 我们写3D时&#xff0c;常常会有按照一定轨迹去浏览模型&#xff0c; 所以,我们要先确认行动轨迹&#xff0c;渲染出行动轨迹以后&#xff0c;再让人物按照行动轨迹去移动 引入three.path cnpm …

性价比开放式蓝牙耳机推荐哪款、性价比最高的开放式耳机

传统的耳机设计虽然便携&#xff0c;但却可能给一些需要长时间佩戴的用户带来不适。长时间封闭在耳机内可能导致耳朵不透气&#xff0c;甚至引起疼痛。这就是为什么近年来开放式耳机越来越受欢迎的原因。这种耳机设计无需直接插入耳道&#xff0c;采用挂耳的佩戴方式&#xff0…

广州数字孪生赋能工业制造,加速推进制造业数字化转型

广州数字孪生赋能工业制造&#xff0c;加速推进制造业数字化转型。数字孪生系统基于历史数据、实时数据&#xff0c;采用人工智能、大数据分析等新一代信息技术对物理实体的组成、特征、功能和性能进行数字化定义和建模。通过构建在信息世界对物理实体的等价映射&#xff0c;对…

React 笔记 jsx

严格约定&#xff1a;React 组件必须以大写字母开头&#xff0c;而 HTML 标签则必须是小写字母。 React JSX JSX 是由 React 推广的 JavaScript 语法扩展。 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合&#xff1b;返回的组件必须包裹在一个父标签内&#xff1b; …