Demande #3134
fermé
Forcer la bannière par text replace nginx
Ajouté par Quentin Gibeaux il y a plus de 6 ans.
Mis à jour il y a presque 5 ans.
Assigné à:
Christian P. Momon
Description
Il est possible d'injecter une bannière chapril en réalisant un text replace sur la réponse reçue par bastion avec ce genre de configuration nginx dans un location / :
sub_filter '</body>' '<h1>Miaou !</h1></body>';
sub_filter_once on;
Cependant, cela n'est pas exécuté lorsque le contenu renvoyé semble zipé par le serveur http distant, il est possible de contorner ce problème via deux solutions :
1/ désactiver le module deflate sur le serveur http
2/ forcer un paramètre proxy_set_header Accept-Encoding "";
Cependant, cette seconde solution crée des problèmes sur un service comme date.chapril.org : tout les liens sont cassés et apparaissent comme "http://lamp…"
Le nginx n'avait pas été reloadé
Je confirme la résolution du problème suite au Nginx reload \o/
Actuellement, le code de la bannière est inclus depuis un fichier. J'approuve (centralisation…).
Ce fichier a pour nom « banniere-chapril ». Proposition d'appliquer un nommage uniquement en anglais par souci d’homogénéité et de cohérence. Suggestion de renommer en « chapril-banner ».
- Version cible mis à Mise en production Chapril
Dans /etc/nginx/sites-enabled/pouet.chapril.org :
location / {
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Content-Security-Policy "default-src 'none'; font-src 'self'; media-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self'; img-src 'self' data:; connect-src 'self' wss://pouet.chapril.org; frame-ancestors 'none';";
try_files $uri @proxy_static @proxy;
}
J'ai appliqué la solution n°2 (mettre les ressources en relatif) et ça semble bien fonctionner.
L'inconvénient est qu'il faut deux include par fichier de configuration (1 pour le location /Banner et un pour les filter), pas très joli.
- Statut changé de Nouveau à Résolu
Solution technique validée.
- Statut changé de Résolu à Fermé
- Projet changé de Chapril à banner.chapril.org
- Assigné à mis à Christian P. Momon
Formats disponibles : Atom
PDF