Eu inverto o proxy para um aplicativo que usa muito RAM, então o limitei a 5 conexões via max_conns em um bloco upstream.
Mas quando 5 conexões são alcançadas, o erro 502 é disparado, mas não é o que eu quero, seria melhor se a conexão esperasse sua vez (a conexão não demora).
Então, um exemplo do que eu quero com max_conns=3
:
conn1 connect and nginx proxy it
conn2 connect and nginx proxy it
conn3 connect and nginx proxy it
conn4 connect and nginx makes it wait
conn5 connect and nginx makes it wait
conn1 finish
conn4 is now proxied
conn3 finish
conn5 is now proxied
conn2 finish
conn4 finish
conn5 finish
Acredito que você esteja procurando o Queue , que só está disponível no Nginx Plus