web-dev-qa-db-fra.com

Règle de réécriture Nginx avec passe proxy

J'essaie d'implémenter des règles de réécriture nginx pour la situation suivante

Demande:

http://192.168.64.76/Shep.ElicenseWeb/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

Doit être redirigé vers:

http://localhost:82/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

J'ai essayé sans succès:

location /Shep.ElicenseWeb/ {
    rewrite ^/Shep.ElicenseWeb/ /$1 last;
    proxy_pass http://localhost:82;
}

Quelle est la bonne façon d'effectuer une telle réécriture pour nginx?

27
Eldar

Votre déclaration de réécriture est incorrecte.

Le 1 $ à droite fait référence à un groupe (indiqué par des parathèses) dans la section correspondante.

Essayer:

rewrite  ^/Shep.ElicenseWeb/(.*)  /$1 break;
47
sureshvv

Vous manquez une barre oblique de fin:

location /Shep.ElicenseWeb/ {
    proxy_pass http://localhost:82/;
}

Cela fonctionnera sans réécriture.

5
Menasheh