Nginx 请求方法限制

一种做法是在 Nginx 的全局配置中添加如下参数:  map 方式

一种做法是在 Nginx 的全局配置中添加如下参数:

http {
  # 定义一个只允许 GET、POST、OPTIONS 的请求方法白名单
  map $request_method $allowed_methods {
    default           "deny";
    GET               "allow";
    POST              "allow";
    OPTIONS           "allow";
  }

  # 针对所有的请求,只允许执行 $allowed_methods 中定义为 allow 的指令
  server {
    location / {
      if ($allowed_methods = "deny") {
        return 405;
      }
      add_header Allow $allowed_methods;
      # add other directives accordingly
    }
  }
}

另一种更加规范和安全的做法是使用 limit_except 指令,示例如下:

limit_except  方式

另一种更加规范和安全的做法是使用 limit_except 指令,示例如下:

http {
  server {
    location / {
      limit_except GET POST OPTIONS {
        deny all;
      }
      add_header Allow "GET,POST,OPTIONS";
      # add other directives accordingly
    }
  }
}

注意点:

header  可以配置在指定的任意字段里面 

同时要想header 响应标头生效  响应码必须是以上响应码 配置的header头里面的配置才能生效

中配置的header头有继承的全局配置的级别,当没有其他地方配置header时将全局生效,如其他地方指定了add_header头参数, 全局配置的会终止, 无论响应代码如何,都将添加标头字段。always

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值