【发布时间】:2018-02-23 09:05:43
【问题描述】:
我有一个 RESTful Web 服务,它公开了一个接口,例如:
GET /api/v1/films/:id/thumbPUT /api/v1/films/:id/thumb...
Web Server 由 nginx 反向代理后面的 nodejs 集群组成。
我现在正在尝试配置 nginx 代理和客户端缓冲区。为此,我设置了指令
location ~ /api/v1/films/(.*)/thumb {
proxy_buffers 6 500k;
proxy_busy_buffers_size 1m;
client_max_body_size 3m;
client_body_buffer_size 3m;
proxy_pass http://backend;
}
此配置完成了这项工作,但并不令人满意,因为它为PUT 请求配置了proxy_buffers 3m,这是不必要且浪费资源的,而为GET 配置了client_max_body_size 3m。
所以我正在寻找一种方法来配置我的路由,除了 URI 之外,还基于 http 方法。
感谢所有愿意分享一点经验的人。
【问题讨论】:
-
您可以使用
map命令查看http 方法。看看这个(页面)[nginx.org/en/docs/http/ngx_http_map_module.html]
标签: rest nginx asp.net-web-api nginx-location nginx-reverse-proxy