服务器不支持 http 的 put 和 delete 吗?

2021-05-26 08:38:26 +08:00
 HDMItoDP

程序中包含的了 put 和 delete 请求,直接被防火墙给拦截了可能是。但是端口是开放的,get 和 post 可以请求到。 是因为防火墙的事吗? H3C 的防火墙

2988 次点击
所在节点    问与答
19 条回复
HDMItoDP
2021-05-26 08:42:52 +08:00
eason1874
2021-05-26 08:49:40 +08:00
防火墙通常不会按 http method 去拦截。没有响应正文不一定是被拦截了,也可能是服务器收到了但没有返回响应。

看下服务器日志有没有这个请求日志就知道有没有拦截了。
Rwing
2021-05-26 08:51:13 +08:00
有些 waf 会拦截
HDMItoDP
2021-05-26 09:09:04 +08:00
@eason1874 没有请求日志
forbreak
2021-05-26 09:10:49 +08:00
虽然规范上 put 和 delete 可以用跟 post 差别不大。但是实际情况是,有很多安全测试,等保之类的要求,不能用。提示 put 和 delete 是危险的请求,要让你关掉。你说理都没地方说,说了别人也不信你。建议把 put 和 delete 换成 post 。
dream4ever
2021-05-26 09:15:09 +08:00
会不会是 nginx 之类的被改过设置,默认不允许这些请求?
HDMItoDP
2021-05-26 10:10:31 +08:00
@dream4ever 没有,这个已经排查过了,我怀疑是防火墙的事,但是没有依据
bluehr
2021-05-26 10:15:27 +08:00
很有可能,之前在国内 top2 医院 部署的时候就遇到,客户买的深信服防火墙屏蔽了 PUT 请求。
当时调试了几天,对方网络部对接的刚开始是一个小兵,说不可能。后面反馈给他们主任之后马上就改了配置就可以了。
goodryb
2021-05-26 10:18:11 +08:00
@HDMItoDP #7 不用怀疑,环境允许的情况下,越过防火墙直接请求服务器看是否正常,一对比至少就能看到问题在哪里了
Evilk
2021-05-26 10:21:50 +08:00
get and post
走天下
sutra
2021-05-26 10:22:42 +08:00
有些代理服务器不支持 PATCH 我倒是知道。
nicocho
2021-05-26 10:38:35 +08:00
put.delete 请求到没到服务器?
之前学后端时候,遇到服务器收到但不处理 delete.put 的请求,
配置下 spring 啥参数的就好了。
xiangyuecn
2021-05-26 10:53:48 +08:00
api ? get 都是多余的,post 一把梭🐶 前后端代码都能省一半😂

2 行代码搞定的事情 自从用了 restful 风格变成了 200 行 都没时间摸鱼😅
Jooooooooo
2021-05-26 11:51:45 +08:00
get post 就够用了
HDMItoDP
2021-05-26 11:53:21 +08:00
@xiangyuecn 蛤蛤,你说的对
340244120w
2021-05-26 12:27:41 +08:00
别看了 4 5L 正解
340244120w
2021-05-26 12:28:36 +08:00
楼主也是有意思 正解的楼是一个也不回。。。
HDMItoDP
2021-05-28 09:48:09 +08:00
@bluehr 是的,咨询了管理防火墙的人,人家不懂
HDMItoDP
2021-05-28 09:48:34 +08:00
@bluehr 我感觉也是这个问题,但是管防火墙的人不懂,这就尴尬了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779214

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX