1
Vitta 2022-08-26 17:23:05 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈 牛逼
|
2
quan01994 2022-08-26 17:25:15 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈 牛逼
|
3
Mithril 2022-08-26 17:28:55 +08:00 2
你们一公司都是人才,这不是写了 OpenResty 报的错吗。。。
|
4
h1104350235 2022-08-26 17:29:47 +08:00 9
无效沟通,和这种人做同事也是够呛的。
|
5
xiaojun1994 2022-08-26 17:29:48 +08:00 1
最后的表情包不错
|
6
a33291 2022-08-26 17:31:16 +08:00
培训班出身吗 🤣
|
7
wunonglin 2022-08-26 17:31:44 +08:00
哈哈哈哈哈哈。最后的表情包可以发一下吗
|
8
Bijiabo 2022-08-26 17:34:05 +08:00
求表情包😂
|
9
stroh OP |
10
stroh OP |
11
vampuke 2022-08-26 17:43:08 +08:00 14
前端就是 bug 路由器,已经习惯了
|
12
bury 2022-08-26 17:47:11 +08:00
666
|
13
statement 2022-08-26 17:47:22 +08:00
500 为什么不能找前端
如果按小公司 能跑就行来说 谁最后导致的错误就找谁呀 大厂都不能做到面面俱到 偶尔也会遇到 500 页面 如果我做内部系统,出错能改前端解决的 真懒得改后端 |
14
zhouyg 2022-08-26 17:48:29 +08:00 1
哈哈笑死,以后面试还是得多检查下对于 http 的基本常识如何
|
15
Mithril 2022-08-26 17:49:29 +08:00 24
盲猜一个复盘:
运营发现挂了,甩锅运维 运维瞅了一眼 Dashboard 发现所有服务都活着,甩锅前端 前端瞅了一眼发现是“Server Error”,甩锅后端 后端瞅了一眼这特么居然是个页面,我后端从来没生成过错误页面,前端说话还那么冲,自然就顶回去了。 大概是你们用了个 Nginx 做路由或者 serve 静态页面,这玩意在你前端开发用不上,但也没接到后端里。实际上应该找运维去拉一下 Nginx 的 log 。所以你找后端,他会让你去找运维。 估计是大概猜出来问题在哪了,但你这语气估计也不想多说,开怼吧。 |
16
stroh OP @Mithril 我没截上面,上面心平气和的说明问题,上来就怼我页面问题,够客气了吧?而且我找过运维,运维说不知道让我自己解决...
|
17
YSMAN 2022-08-26 18:00:19 +08:00
这是大佬??
|
19
JKeita 2022-08-26 18:03:50 +08:00
这种是大佬?搞笑吧。看来你们公司技术水平参差不齐啊。
|
20
NerbraskaGuy 2022-08-26 18:08:52 +08:00
我觉得可以润了,先不管水平这么样,这么难沟通的同事工作起来也很心累
|
21
liuymf 2022-08-26 18:12:26 +08:00
还缺人吗 让我来搞后端 有问题第一时间排查 哈哈
|
22
l864494871 2022-08-26 18:23:52 +08:00
笑死啦 哈哈哈哈
|
23
lawmil 2022-08-26 18:24:04 +08:00
难道不是前后端分离么?这种直接域名访问报错,都是甩给前端查。。
|
24
daimubai 2022-08-26 18:33:08 +08:00
牛逼
|
25
aragakiyuii 2022-08-26 18:38:57 +08:00 via iPhone
服务没问题有没有可能是后台压根就没打日志😂
|
26
lopda 2022-08-26 19:02:10 +08:00 via Android
最后一句说的好像没问题。可以找运维看下服务器代理可正确😄
|
27
lopda 2022-08-26 19:03:22 +08:00 via Android
前端经常遇到这种情况,都习惯了😄
|
28
xuqiccr 2022-08-26 19:03:49 +08:00
哈哈哈前公司有个组长也叫丁丁
|
29
rrfeng 2022-08-26 19:24:52 +08:00
其实这后端也不是全错(当然很垃圾)
这个路径确实可能不是我的服务的(所以问运维) |
31
wolfie 2022-08-26 19:27:25 +08:00
《现在后端都这么好干吗》
可想而知你是什么水准 |
32
Vegetable 2022-08-26 19:37:18 +08:00 1
一条 curl 直接下线
|
33
neutrinos 2022-08-26 19:41:03 +08:00 via iPhone
公司盈利多不分你,盈利少就裁你,管那么多干嘛,做好本分,按专业知识笑嘻嘻回复。这是领导和 hr 的问题,招的人水平不够,不要为难你自己
|
34
Vegetable 2022-08-26 19:41:24 +08:00 3
理论上前后端分离的系统应该看不到这个页面的,这意味着静态页面就没拿到。确实不一定是后端的问题,又不是 API 抛出的 500 ,但是 500 这个页面肯定是 nginx 后边出了问题,所以这个要先找运维,确认是哪一步抛出的原始异常。
|
35
IvanLi127 2022-08-26 19:46:47 +08:00 via Android 5
踢回给运维。找后端干嘛。。。。这被后端踢有点活该哦!而且有问题找前端的人是这位后端找的么?不是运维么?看这对话,这前端才是踢皮球小王子啊!
|
36
imycc 2022-08-26 19:50:00 +08:00 2
哈哈哈哈,面向甩锅编程,只要不是我的错就行。不过无效的聊天内容太多了。
回到本楼主题,查 bug 不应该是这么查的。相关人员拉个群,让负责人来主持,分清楚是哪边的问题,再让具体的研发去查就好了。 |
37
chloerei 2022-08-26 19:53:24 +08:00 4
前后端分裂。
|
38
honamx 2022-08-26 20:03:34 +08:00
看后端的意思是 URL 里是包含了某个变量吧,而这个变量是前端生成的,调用后端接口因为值有问题导致接口 500 。不是给那后端洗白,感觉楼主也没了解清楚相关业务。哈哈哈哈
|
40
chuanqirenwu 2022-08-26 20:24:19 +08:00
后端处理问题不积极,但他说的应该还是有道理的,没有走到他负责的 java 服务,所以他不管。
|
41
stoluoyu 2022-08-26 20:26:19 +08:00
错误图太糊了,不过还真不一定是后端。
不过踢皮球确实很蛋疼,所以我比较喜欢前后端项目分离,人员不分离。 |
42
ljpCN 2022-08-26 20:32:01 +08:00
真不一定是后端,如果做了前后端分离,不至于整个页面 500 ,整个页面 500 很可能是网关层出错。
|
43
zoharSoul 2022-08-26 20:45:03 +08:00 via Android
从描述来看他说的估计是对的,你没看懂他想表达的意思😂
|
44
pengtdyd 2022-08-26 20:58:22 +08:00
都是人才啊,三流的领导就会待出不入流的团队!!!
|
45
nbhaohao 2022-08-26 20:59:59 +08:00
蹲一手后续,到底是谁的问题...
|
46
isbase 2022-08-26 21:08:30 +08:00
高效排查问题需要好的日志和链路追踪服务
如果有链路追踪服务,出错了拿着 traceId 一键查找出错的服务。 如果没有链路追踪服务,那么按照你们公司的请求链路,从入口服务一层一层往后查日志 至于谁来查,要取决前端是怎么部署的,对于前后端分离的项目,前端独立部署的肯定要前端自己来查,500 可能是 cdn 也可能是网关也可能是其他中间服务。 如果是传统 mvc 那种前后端一体的,让后端自己搞去。 |
47
isbase 2022-08-26 21:09:09 +08:00
如果明确是后端的问题,不用和对方废话兜圈子,不配合直接拉他老板即可
|
48
msaionyc 2022-08-26 21:11:18 +08:00 6
老实说,我觉得后端说话没有大毛病,说到一半,你那句“肯定是后端少判断,走到了代码错误的地方,报错了。。”,你能为你说的话负责吗?只要这次锅和后端没关系,以后你们组再有任何问题,他都不会再管,除非闲的。
|
49
yeqizhang 2022-08-26 21:24:07 +08:00 via Android
34 楼说的很准确。现在前后端分离,如果不是前后端分离也不会前后端分很清吧,html 直接 500 的话,这种就是找运维人员的,除非你们没运维,是后端兼的……
|
50
fox0001 2022-08-26 21:30:10 +08:00 via Android
没找到明显证据、错误信息,这样根本没法聊。
|
51
seesky 2022-08-26 21:51:56 +08:00
没后续吗? 不会被打脸了吧?
|
52
kingjpa 2022-08-26 22:00:53 +08:00
这时候,我们这种小公司的好处就出来了, 无论是前端还是后端还是运维 甚至是阿里的服务挂了, 都会找到我头上 我还没法推。
其实我认为后端肯定知道这个问题出在哪里,只是不想费口舌和你说, 请求都没落到后端服务上,他到哪里看日志呢? |
53
ily433664 2022-08-26 22:03:22 +08:00
还真不一定是谁的锅,打个比方某个参数前端传了 undifend ,那报错就没后端没啥关系了
|
54
zhw2590582 2022-08-26 22:03:40 +08:00
前后端分裂,笑死了
|
56
hutoer 2022-08-26 22:10:22 +08:00
我们用 flask 开发的系统,就碰到过 templates 缺少文件导致 500 错误。由于 templates 是前端维护的,所以找前端的锅,然后前端说是部署的人没同步。你看锅从 测试 -> 前端 -> 后端 -> 前端 -> 部署。
|
57
leaves615 2022-08-26 22:16:47 +08:00
@zhouyg 最近面试很多前端,别说 http 协议了,html 怎么写都不太会了。
大前端时代,一维数组是什么都不知道。 |
58
xmh51 2022-08-26 22:17:02 +08:00
你没有看明白后端老哥意思,别一上来就挂人,后端老哥又没有推诿,给你正确的路径了。两方意见打架别想当然。拉个群。
第一个报错的是那个是 openresty ,这个是一个类似 ngnix 的东东,又不是 java 的 tomcat 报错?你怎么确定是后端老哥的问题。 正确的做法就是找运维排查 openresty 找到对应的转发 url ,一层一层排下去。 |
59
xmh51 2022-08-26 22:27:59 +08:00
另外说句实话,评论区也太冲了,这种 openresty 的报错一般来说都是一层一层往下的。
还是沟通的问题 前端以为的后端服务就是 java 实际上的后端服务,高防=>openresty=>k8s ingress=>java 应用。 结论:前端要么拉个群,让大家一块排查,要么多了解了解后端架构 |
60
fantastic 2022-08-26 22:36:34 +08:00
这种不一定是后端的问题,等个后续
|
61
EminemW 2022-08-26 22:36:40 +08:00
有一说一这看起来是路径错了,跟后端关系不大啊,应该找运维查。这种情况下,就算后端加了判断不也是要报错给调用者么
|
62
potatowish 2022-08-26 22:54:34 +08:00 via iPhone
页面报 500 很有可能是运维的锅,接口报 500 大概率是后端的锅,只能说你们这后端不太行,只要不是前端的问题,都可以找后端来排查。
|
63
wtfedc 2022-08-26 23:13:51 +08:00
技术广度不够,还阴阳怪气的人真多。用户水平越来越拉稀,怪不得老用户不上线了=。=
|
64
chendl111 2022-08-26 23:24:22 +08:00
应急拉人说话不要这么冲,虽然心里火气大但是打字还是要委婉一点,最后问一句:你确定是后端的问题了吗?那句”现在的后端都这么好干了吗“太伤人了,直接否定人家的职业水平和技术能力,如果最后是你错了,那你以后就别想找后端做任何事情了
|
65
darkengine 2022-08-26 23:36:04 +08:00
看来我们这种小公司,全栈一脚踢的还是有一定优势哈 😂
|
66
wonderfulcxm 2022-08-26 23:43:36 +08:00 via iPhone
500 肯定是后端错误啊
|
67
fiypig 2022-08-26 23:48:59 +08:00 via iPhone
妈的,换成我只能自己喷自己,出 500 了只能默默自己搞,真羡慕有运维有前后端的
|
68
xmh51 2022-08-26 23:51:34 +08:00 2
@potatowish
@wonderfulcxm 老哥们,看仔细点 500 页面是 openresty 报的。一个 api 有很长的请求链路, 答主询问的后端只是负责 java 应用。他已经指明找谁排查了,运维查询 openresty 日志定位异常来源,一级一级往下排查。 |
69
xmh51 2022-08-26 23:58:30 +08:00 1
这个问题咋会有争议的?想不明白。。不是直接从 openresty 往下追溯就行了吗?现在的前端已经不需要了解 openresty/ngnix 是啥,openresty/ngnix 怎么部署静态网页,openresty/ngnix 如何反向代理后端 api 了吗?
|
70
wonderfulcxm 2022-08-27 00:25:55 +08:00 via iPhone 1
@xmh51 后端出错 openresty 当然是报 500 错误,你对错误码是不是有什么误解?运维可以看日志,但 500 无论如何都扯不到前端。
|
71
garyox64 2022-08-27 01:44:59 +08:00
理想情况,出了问题和团队无关,一条请求链路 报了 500 ,一环环查就是了,不过这样就对技术栈要求都比较熟悉
甩锅角度看就是运维的锅,你就拉个群 把领导们都拉进去,让运维 帮定位好了 明明是一个简单的事,最后 经过了一大堆沟通成本以后,才有结果,感觉这就是目前很多公司的通病 人效太低了,哎 现在干活真没劲,这种破事一箩筐 |
72
MonoLogueChi 2022-08-27 01:52:58 +08:00 via Android 1
@wonderfulcxm 为什么 500 错误扯不到前端?最简单的例子,前端路由写错了,最简单的情况是找不到页面就是 404 ,但如果规则匹配到了后端呢,抛个 500 出来不是很正常吗。这时候抛 500 错误出来的原因是啥,前端路由写错了。
|
73
qeqv 2022-08-27 04:36:25 +08:00
额,能理解你说话时的心情,肯定是长期做 BUG 路由心理不舒服。
我猜这个后端的意思是“你正确传值就不会 500 ,虽然我代码没做纠错判断,但我懒得改” 猜的,蹲一个后续 |
74
jmk92 2022-08-27 05:03:18 +08:00
内心:我 TM 知道是后台的,可我不知道是哪的,找 BUG 你以为是一句话的事啊。让你找运维,运维也许能找到这块属于谁写的代码,那就可能不找我了
|
75
zpf124 2022-08-27 06:54:48 +08:00
@wonderfulcxm
如果后端报 500 错,会由后端的服务器程序以自己的格式返回错误信息,对于 java 的后端而言是 tomcat 或者其他程序,而不是 openresty 的标准 500 页面。 不信的话你自己用 node 起一个服务让他访问就 500 ,然后你用 openresty/nginx 反代套一层,自己访问看一下会不会出现 openresty 的 500 页面。 |
76
zpf124 2022-08-27 07:14:42 +08:00 1
总结一下问题。
运营发现访问不了,喊运维, 运维粗查监控没有宕机,甩锅前端, 前端一看 500 错误,就觉得这是后端的错,甩锅后端。 后端一看返回的是 nginx 的页面,而且访问的还是前端的路径(聊天里说的),和我有 p 关系? 最后前端出来发帖:"现在后端都这么好干吗》" ---------------------------- 期待后续楼主出来解答一下到底谁的问题, 看看谁是真的在甩锅。 我唯一能想到的 前端项目路径报 500 还会是后端引起的情况就是 —— 你们是 SPA 应用做了首屏服务端渲染,然后服务端渲染时调用后端 api 报错。 有人知道其他可能性的话麻烦也给我讲讲。 我初步猜测,最有可能的情况是 500 的访问链接是代码拼接生成的,但拼接了特殊符号或者什么其他内容,导致反代解析出问题; 除此外要么是 WAF 相关设置有毛病,要么反代服务器配置有问题或者写了 Lua 脚本但出 bug 了。 |
77
elevioux 2022-08-27 07:23:12 +08:00 via Android
这个是 web 服务软件默认的错误页面,还真不一定就是后端 java 的问题。
因为后端框架通常都有异常的处理机制,500 的页面通常是框架定制的。我写 php ,用 Laravel 居多,Laravel 就有自己的 500 处理方式。 因此问题也可能出在 web 服务到 java 这一步,后端叫运维去查也不是完全没有道理。 |
78
mysalt 2022-08-27 07:36:37 +08:00 via iPhone
为什么不拉个群呢,把几方都拉进去解决,要再解决不了就把他们领导都拉进去,直到解决为止。
|
79
neptuno 2022-08-27 08:45:28 +08:00 via iPhone
直接看控制台呀,哪个接口报错,复制接口路径和参数,然后 postman 构造用例,这才是有效沟通。
|
80
AllenHua 2022-08-27 08:48:17 +08:00
我想看后端日志,楼主,快上 [吃瓜]
|
81
justin2018 2022-08-27 08:51:31 +08:00
想知道 到底是谁的责任~~
这不就是摸鱼的好机会嘛 说排查了一天的问题 😁 |
82
kangyan 2022-08-27 09:01:59 +08:00
中野决裂了属于是
|
83
nicevar 2022-08-27 09:04:40 +08:00
这个还真不一定是后端的锅,先让运维定位一下问题才是关键,我不明白你们俩吵啥,想直接物理手段解决问题吗
|
84
uvwlab 2022-08-27 09:15:16 +08:00
像这种情况,各方面都要自查
|
85
martinqian 2022-08-27 09:20:28 +08:00 4
我怎么看着这后端态度其实还行呢,可能他觉得 UP 主这位前端很难理解这其中的机理,所以不愿意说太多,就简单指了一条路:找运维跟一下,或者找丁丁帮忙。
通常,后端返回 500 的时候,即使 body 数据没用 JSON 之类的进行编码,也不可能去添加什么 Openresty 之类的信息,所以他认为这个问题和他没关系,因为数据不是他返回的。 当然了,问题还是得 UP 主去推(因为运维在拉稀呀),一切皆有可能。 |
86
oneisall8955 2022-08-27 09:28:36 +08:00 via Android
拉个群,看谁还踢皮球
|
87
yangzzzzzz 2022-08-27 09:32:36 +08:00
这个时候拉大大群就都老实了 最好领导也在里面 @全体成员
|
88
fzdwx 2022-08-27 09:35:17 +08:00 8
感觉后端老大态度很可以啊,就是这个前端一直在阴阳怪气?
|
90
ily433664 2022-08-27 09:42:01 +08:00
@ilylx2008 #55 那也分不同的情况,有些是后端偷懒没验证,有些参数是数值类型传 undifend 就没到验证就出错了
|
91
tairan2006 2022-08-27 10:31:08 +08:00 via Android
这个 500 页面一般确实应该找运维,跟 API 层关系不大
|
92
Junzhou 2022-08-27 11:15:05 +08:00
大概率请求就没到他负责的 Java 服务那一层,然后又懒得跟你说太多(可能他觉得你看起来确实不怎么懂这一块,跟你说了也白说)。。。 那么大的 OpenResty 都看不到。
|
93
Huelse 2022-08-27 11:19:55 +08:00
就表现来看,这的确要找运维的,后端知道自己这边的错误页会是什么样,一看不是,那就得找运维了
|
94
GopherTT 2022-08-27 11:51:01 +08:00
前端不懂后端和背后的整个服务,500 一定就是后端的锅了?只是前端不懂分析和定位问题,其实聊天里都指出问题了。
|
95
kappa 2022-08-27 11:56:28 +08:00 2
说的很明白吧,要找运维确认是路由到哪了,op 和后端中间隔了个人,不懂没关系先找运维贴配置贴日志,直接跑外网挂人以为自己水平最高?
|
96
idblife 2022-08-27 11:59:55 +08:00 via iPhone
你们运维垃圾
|
97
yuzo555 2022-08-27 12:10:43 +08:00
“前端”不一定是指浏览器端,很多情况中间层在服务器上,跑着 OpenResty 或者 PHP ,但也算是前端,因为它不负责业务,只是把真正的后端输出的内容展示给客户端,做点负载均衡什么的,甚至还做点缓存。
就这个案例来说,不一定是中间层还是后端出的问题,确实得运维拉日志查下。 |
98
abuabu 2022-08-27 12:30:54 +08:00 7
?
。。。 难不成? 那为什么? 肯定是 啊大哥 我第一次 厉害了 基本常识 明显是 句句给人加怒气 |
99
laolaowang 2022-08-27 13:04:34 +08:00
如果是那种前后分离的项目,确实也不能完全怪后端,这种 500 也可能是代理有问题
|
100
vazo 2022-08-27 13:05:37 +08:00
请问 op,这都快一天了,到底是谁干的?
|