浏览 3.8k
nginx 配置了 req 请求速率模块,确实达到了请求限制的效果,但是网站图片加载会报错 503,导致图片加载失败?这个问题改怎么解决呢?

按点赞数排序
按时间排序
limit_req指令后加nodelay了吗?这个不要加,否则一旦超过rate速率,会立刻拒绝请求,发送503响应码。
我猜你想要的结果,应该是请求被卡在Nginx上,直到速率要求达到后再处理?你可以把burst配大一些,这是允许等待在Nginx上的请求个数。
1
回答于2020-09-20 09:31
proxy_http_version为1.1,同时Connection: keep-alive,这只是说:HTTP协议是支持长连接的。但客户端要不要使用长连接呢?如果使用长连接,就得有连接池,那么连接池应该是多少呢?毕竟一旦有连接池,就可能存在资源浪费,在用户没有明确的配置keepalive连接池时,Nginx还是不会使用长连接。
请提供详细配置信息。
location / {
add_header Cache-Control max-age=2592000;
root html;
index index.html index.htm;
}
我使用如上配置,服务端响应如下:
HTTP/1.1 200 OK
Server: nginx/1.20.2
Date: Fri, 02 Sep 2022 09:10:55 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 20 Jul 2022 12:09:37 GMT
Connection: keep-alive
ETag: "62d7f081-264"
Cache-Control: max-age=2592000
Accept-Ranges: bytes
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
微信公众号
加入微信群