有没有一种方法,而不是解决办法,来处理一个location ~* <ADDRESS> {}
,但根据content-type
使用不同的proxy_request_buffering
值(开/关)?例如,如果multipart/form-data
,则proxy_request_buffering
必须是off
,而对于其他请求,则必须是on
。这些类型的指令不能通过变量或IF条件动态设置。因此,它应该是类似于一个location
作为入口点,将请求转发到其他sub-locations
。但如何才能做到这一点?请帮帮我
它是特定于应用程序的东西,一个请求类型可以用于多种用途。这就是为什么我不能把它们分开。关于POST主体中存储的类型的信息。OR内容类型也是解耦它们的好标志。
代码示例:
location ~* /application/service$ {
client_max_body_size '5000m';
client_body_buffer_size '1m';
proxy_request_buffering on;
proxy_buffering on;
rewrite_by_lua_file /etc/nginx/lua/service.lua;
include /etc/nginx/conf.d/common/reverse.conf;
proxy_pass $proxy_address;
}
目标是能够基于content-type
设置方向词client_max_body_size
和proxy_request_buffering
。
Client -bigfile----* *--> sub-location (buffering is off)
\ /
location
/ \
Client -regular----* *--> sub-location (buffering is on)
1条答案
按热度按时间knsnq2tg1#
处理一个位置~* {},但根据内容类型使用不同的proxy_request_buffering(on/off)值
我也遇到了同样的问题。我认为解决这个问题最简单的方法是使用nginx内部重定向机制。代码示例: