服务器不支持PUT和DELETE请求处置惩罚

农民  金牌会员 | 2024-8-13 06:51:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 656|帖子 656|积分 1968

在生产中遇到个问题,用户服务器转发不支持PUT请求和DELETE请求,这是什么鬼问题,查阅了下资料,PUT请求和DELETE请求被以为是不安全的,所以没办法,必须得处置惩罚这种情况
  问题处置惩罚

   前端处置惩罚和nginx处置惩罚,前端axios实例将PUT和DELETE请求改为POST请求,并设置特殊请求头标记,在nginx中判定设置请求标记
  前端axios处置惩罚 

  1. //判断下当前主机环境是否需要替换put和delete请求
  2. if(window.location.host == "xxx"){
  3.     const method = config.method.toUpperCase()
  4.     if(method== "PUT" || method == "DELETE"){
  5.         // 改写post请求
  6.         config.method = "post"
  7.         // 添加请求标志
  8.         config.headers['X-HTTP-Method-Override']=method
  9.     }
  10. }
复制代码
nginx配置 

   在server块配置和location块配置即可,
  注意:假如配置指令不能复制需要手敲的时候,重启的时候出现未知指令,并且其他都没有问题的情况下,注意查抄下if后边的空格(if 后边要有空格),这大坑,排查了半天
  1. set $method $request_method;
  2. if ($http_X_HTTP_Method_Override ~* 'PUT|DELETE') {
  3.         set $method $http_X_HTTP_Method_Override;
  4. }
  5. proxy_method $method;
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表