nginx配置
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
发布于 2022-01-17 04:24:03
不要返回或重写静态内容,只需在方法发布时返回503 status_code,然后修复:
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;
}
}
}
https://stackoverflow.com/questions/70738811
复制相似问题