Nginx proxy_pass et proxy_set_header Appelez trop de fichiers ouverts

J'ai la prochaine .conf dans nginx Pour équilibrer entre le serveur a et b:

upstream myapp {
server a.myapp.com;
server b.myapp.com;
}

server {
listen 80;
server_name myapp.com;

location / {
proxy_pass [url=http://myapp;]http://myapp;[/url]
}
}

Et deux serveurs avec php 7 et laravel, sur lequel ma demande est en cours d'exécution, à l'intérieur d'un nginx.

Dans cet en-tête de configuration Host devient «myapp», et laravel L'utilise dans un système d'URL pour les ressources et les références.

Comme décrit dans la documentation, j'ai utilisé

proxy_set_header

Directive SO:

upstream myapp {
server a.myapp.com;
server b.myapp.com;
}

server {
listen 80;
server_name myapp.com;

location / {
proxy_pass [url=http://myapp;]http://myapp;[/url]
proxy_set_header Host $host; #this causes too many open files
}
}

Mais cela cause "Trop de fichiers ouverts" dans le journal nginx, Et les demandes ne finissent jamais.

J'ai googlé l'erreur "Trop de fichiers ouverts" et j'ai inventé une solution pour augmenter la limite, ce qui n'a clairement pas fonctionné dans ce cas. Peut-être qu'il y a un certain cycle infini que je ne vois pas?

J'ai aussi essayé d'écrire un titre Host Dans chaque application .conf, Mais le titre n'est pas écrit de la manière suivante:

fastcgi_pass_header "Host myapp.com";
proxy_set_header Host "myapp.com";
add_header Host "myapp.com";
Invité:

Pour répondre aux questions, connectez-vous ou registre