首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当post请求访问limit_req_zone时,nginx返回405

当post请求访问limit_req_zone时,nginx返回405
EN

Stack Overflow用户
提问于 2022-01-17 09:04:08
回答 1查看 272关注 0票数 0

nginx配置

代码语言:javascript
运行
复制
http {
   limit_req_zone $binary_remote_addr zone=limit:50m rate=10r/m;
   server {
      server_name xxx;
      error_page 503 @503;
      location @503 {
         rewrite ^(.*)$ /503.html break;
      }
      error_page 405 @405;
      location @405 {
         rewrite ^(.*)$ /503.html break;
      }
   }
}

因此,当请求not达到极限时,如果方法GET返回503,而方法是POST则返回405,我不明白为什么POST方法返回405,为什么405 error_page不按我设置的那样重写503.html

EN

回答 1

Stack Overflow用户

发布于 2022-01-17 12:24:03

不要返回或重写静态内容,只需在方法发布时返回503 status_code,然后修复:

代码语言:javascript
运行
复制
http {
   limit_req_zone $binary_remote_addr zone=limit:50m rate=10r/m;
   server {
      server_name xxx;
      error_page 503 @503;
      location @503 {
         if ( $request_method = POST ) {
             return 503 '{"code":503,"message":"Service Temporarily Unavailable"}';
         }
         rewrite ^(.*)$ /503.html break;
      }
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70738811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档