limit_except
'limit_except' 指令在指定的 location block 中限制 HTTP 请求方法。 — NGINX HTTP Core
limit_except
location
语法limit_except method { deny|allow ...; };
默认值none
上下文location
模块NGINX HTTP Core
参数block (1+)
说明
'limit_except' 指令在 NGINX 的 location block 中使用,用于限制允许的 HTTP 请求方法。实施后,它定义了一组允许的方法,而所有其他方法将收到 403 Forbidden 响应。例如,如果在 'limit_except' block 中指定 'GET' 和 'HEAD',则诸如 'POST'、'PUT' 或 'DELETE' 等所有其他方法将被阻止。此功能有助于保护只应允许特定方法的资源,从而增强访问控制和安全性。 该指令以一个 block 作为参数,block 内包含一个或多个使用相应配置语法指定的方法。每个方法可以在 block 内连续列出。例如,如果你有 'limit_except GET { deny all; }',则该 location block 仅允许 GET 请求。需要强调的是,在 URI 保护的上下文中,这里定义的例外对被禁止的请求提供了优雅的处理,同时确保合法方法得以不受干扰地被服务。
配置示例
location /protected {
limit_except GET {
deny all;
}
}⚠
确保在 'limit_except' 中指定的方法受到您的应用支持;不受支持的方法可能会意外返回 403 错误。
⚠
请记住,'limit_except' 规则仅适用于指定的 location block,而不适用于嵌套的 location block,除非在那里明确定义。