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

J'essaie d'implémenter les 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 

Devrait être redirigé vers:

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

J'ai essayé cela sans chance:

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 ?

26
demandé sur Eldar 2012-11-24 11:25:03

2 réponses

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

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

Essayez:

rewrite  ^/Shep.ElicenseWeb/(.*)  /$1 break;
46
répondu sureshvv 2012-11-24 07:50:39

Il vous manque une barre oblique finale:

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

Cela fonctionnera sans réécriture.

1
répondu Menasheh 2018-07-22 23:05:37