La précédente version était tout à fait fonctionnelle. Néanmoins, les règles n'étaient pas spécialement optimisées:
Trop de tests d'existence de fichiers et répertoires
Expressions régulières pas assez génériques
Conséquences ? Problème de performances à forte charge et surtout, obligation de copier les règles d'un vhosts à l'autre avec, à la clef,
pas mal d'adaptations et donc des risques d'erreurs pas facile à découvrir.
Essayons donc d'y remédier.
Résumé de l'épisode précédent
Voici ce à quoi nous étions arrivés:
Corrections à effectuer
Expressions régulières génériques
Afin de pouvoir réutiliser ces règles en l'état pour d'autres vhosts, il faut supprimer tout référence à un domaine.
Par exemple, la ligne if ($host ~* ^domain\.tld$) { devient if ($host ~* ^[.*]+\.[.*]+$) {.
Tests d'existence de fichiers ou de répertoires
La plupart des tests présents dans la verison 1 sont, en fait, inutiles et plombent
les performances de l'ensemble. Il existe une façon de limiter l'impact, mais globalement, c'est un peu un pansement sur une jambe de bois.
Tests d'existence de fichiers et répertoires
Les 2 seuls tests incontournables concernent le support du SSL et celui de l'authentification automatique. Tous les autres peuvent, et devraient, être supprimés.
Ré-écriture de www.domain.tld/subdir vers subdir.domain.tld
Là encore, nous sommes en présence d'un tueur de
perfs. Non pas que les règles soient non optimisées, mais plutôt qu'elles seront systématiquement évaluées alors qu'il suffit de faire attention
à votre politique de liens. Il faut donc la supprimer.
Configuration finale du domaine mondomaine.com
Conclusion
Encore une fois, ce système ne prétend pas à l'exhaustivité et encore moins à la perfection.
En revanche, il permet de préparer la suite de l'aventur, à savoir l'ajout de PHP-FPM. More to come !
Format
Ce document est disponible aux formats suivants:
Un fichier (X)HTML en ligne que vous êtes en train de consulter.
Je suis ingénieur système Linux, principalement sous Debian et RedHat/CentOS. Je travaille, entre autres, sur la virtualisation et l'amélioration des
performances web. De temps en temps, j'arrive à décrocher de mon clavier pour lire un bon bouquin en écoutant de la musique, mais ça ne dure jamais très longtemps.