Evolution #2132
pouvoir ajouter des regles de rewrite sur nginx
Description
serait il possible d'intégrer la gestion des règles de rewrite (1 ou plusieurs sur un ou plusieurs virtual host) dans la conf nginx sur amon ?
dans le cas qui nous intéresse, nous avons besoin d'ajouter deux règles rewrite sur un seul des 3 virtual hosts que nous avons défini ceci afin de permettre l'intégration de pronotes dans l'ENT régional
Related issues
Associated revisions
Ajout de rewrite dans des domaines nginx (fixes #2132 @60m)
Le paramétrage se fait en mode expert dans l'onglet "Reverse proxy".
Ajout de la variable "activer_revprox_rewrite" pour activer/désactiver la réécriture.
Il faut spécifier le nom du domaine concerné, le protocole (http, https ou les 2) et le répertoire concerné (attention ces paramètres doit correspondre à dans la configuration de nginx) puis la regexp et le replacement.
History
#1 Updated by Joël Cuissinat almost 12 years ago
- Project changed from Amon to conf-amon
#2 Updated by Joël Cuissinat almost 12 years ago
- Assigned To set to Emmanuel GARETTE
- Target version set to Mises à jour 2.3 - 03 RC
- Estimated time set to 1.50 h
- Distribution set to Toutes
Tu aurais des morceaux de config nginx à nous fournir afin que nous ayons un exemple de ce que tu attends ?
#3 Updated by Emmanuel GARETTE almost 12 years ago
- Status changed from Nouveau to En attente d'informations
- Priority changed from 6 to Bas
Je ne suis pas sûr que vous ayez besoin de rewrite (il faudrait plus d'informations pour le savoir).
Si vous voulez que :
https://etab/pronote/index.html soit redirigé vers https://ip_pronote/index.html, il suffit de configurer nginx comme cela :
Nom de domaine à rediriger : etab Répertoire ou nom de la page à rediriger : /pronote/ IP ou domaine de destination (avec le http ou https) ou Url de destination : https://ip_pronote/
(le "/" à la fin est obligatoire sinon cela renvoi vers https://ip_pronote/pronote/index.html)
Si vous voulez rediriger https://etab/pronote/index.html vers https://ip_pronote/note/index.html, il suffit de configurer nginx comme cela :
Nom de domaine à rediriger : etab
Répertoire ou nom de la page à rediriger : /pronote/
IP ou domaine de destination (avec le http ou https) ou Url de
destination : https://ip_pronote/note/
#4 Updated by Olivier JANVOIS almost 12 years ago
Voici un extrait du patch que nous avons mis en place :
else
proxy_pass http://%location;
%end if % if %%url != ''
+ %if %%revprox.startswith('notes') == True
+ rewrite ^/$ /?login=true break;
+ rewrite ^/(.*.html)$ /$1?login=true break;
+ %end if
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Dans le cas qui nous intéresse le rewrite est indispensable.
#5 Updated by Joël Cuissinat almost 12 years ago
- Target version changed from Mises à jour 2.3 - 03 RC to 76
#6 Updated by Emmanuel GARETTE over 11 years ago
- Status changed from En attente d'informations to Résolu
- % Done changed from 0 to 100
Appliqué par commit e53148819be17f3f9594dba7c9d7ddf72f110d38.
#7 Updated by Emmanuel GARETTE over 11 years ago
- Target version changed from 76 to Mises à jour 2.3.4 RC
Merci de faire un retour pour préciser si la modification correspond bien à la demande (et si tout fonctionne comme prévu).
#8 Updated by Joël Cuissinat over 11 years ago
- Distribution changed from Toutes to EOLE 2.3
Honnêtement, je n'y comprends pas grand chose :o
Et comme :
<jojo2024> malheureusement, on ne fera pas le backport en 2.2 je pense <olivyeye1> on a une solution on a une solution avec notre patch donc ce n'est pas forcément bloquant <jojo2024> l'idée est d'enlever le patch quand vous passerez en 2.3 :) <olivyeye1> oui <olivyeye1> de toute façon pour l'instant pas d'amon 2.3
On verra à ce moment là :)
#9 Updated by Joël Cuissinat over 11 years ago
- Status changed from Résolu to Fermé