gérer 404s chez nginx au lieu du server en amont

Pour être plus performant, nous aimerions permettre à nginx d'attraper 404 avant de passer au server apache en amont. Les deux servers ont les mêmes files.

Plus d'informations

Nous avons une configuration populaire de contenu statique de service sur nginx et utilisant apache en amont pour servir du contenu dynamic. Nous synchronisons actuellement php avec des files statiques aux noeuds nginx des nœuds apache en amont. Les mêmes files sont situés sur les deux couches. Nous ne servons que des files statiques à partir de nginx.

Actuellement, toutes les requêtes non statiques vont en amont vers le server apache (comme prévu précédemment). Cependant, j'ai réalisé que nginx devrait pouvoir vérifier l'existence d'un file .php avant de décider de le transmettre en amont. Cela impliquerait de traiter une request beaucoup plus efficacement.

J'ai brisé avec une combinaison de try_files, puis éventuellement si des blocs pour find une solution, mais je n'ai pas réussi. S'il vous plaît donnez votre avis.

Merci!

Il existe une solution assez simple:

server { listn 0.0.0.0; server_name fooo.org; access_log /var/log/nginx/access.log main; root /var/www/fooo.org; location / { # If the file exists as a static file serve it directly without # running all the other rewite tests on it if (-f $request_filename) { break; } proxy_pass http://127.0.0.1:8080; } } 

+1 s'il a aidé;) merci