Aller au contenu

NGINX rewrite+proxy_pass, un spécialiste pour m'aider?

Featured Replies

Posté(e)

Salut

Ce que j'essaie de faire est que http(s):/monnas.mondomaine.com/dsm soit redirigé en interne vers http://localhost:5000

Ceci dans le cadre de ma config nginx décrite dans mon tuto

Voici ce que j'ai mis en place 

location /dsm {
    rewrite  ^/dsm(.*)  $1 break;
    proxy_pass  http://localhost:5000/;
    include proxy_defaults.conf;
}

Ca fonctionne quasiment. J'ai juste un petit lézard, pas grave mais qui me chiffonne: "http:/monnas.mondomaine.com/dsm" ne marche pas, faut impérativement ajouter un "/" final ("https:/monnas.mondomaine.com/dsm/")

J'ai bien entendu essayé d'ajouter 

rewrite  ^/dsm$  /dsm/;

sans succès: si j'active le rewrite_log, je tombe sur des erreurs "the rewritten URI has a zero length" dans l'errorlog.

Je conviens que c'est vraiment pas grave (suffit d'ajouter le "/" après tout) mais par curiosité j'aimerai savoir ce qui coince.

***EDIT***

Apparemment ca ne fonctionne pas du tout avec le site mobile par contre, je verrais ça dans un deuxième temps.

Modifié par CoolRaoul

  • 4 semaines après...
Posté(e)
  • Auteur

Finalement trouvé la solution (pas sur que ce soit la plus élégante mais mes compétences Nginx ont leur limite:

location /dsm {
    server_name_in_redirect off;
    port_in_redirect off;
    rewrite  ^/dsm$  /dsm/ redirect;
    
    rewrite  ^/dsm(.*)  $1 break;
    proxy_pass  http://localhost:5000;
    
    include proxy_defaults.conf;
    proxy_buffering off;
}

Ce sont les 3 clauses "server_name_in_redirect off", "port_in_redirect off"  et "rewrite  ^/dsm$  /dsm/ redirect" qui font le job

Si ça peut servir à d'autre..

**EDIT** 

Par contre ça ne fonctionne toujours pas avec un navigateur sur mobile, faut forcer le mode "desktop".

Et là je reste sec.

Modifié par CoolRaoul

Posté(e)
  • Auteur
Il y a 4 heures, gaetan.cambier a dit :

pourquoi tu n'utilise pas plutot un sous-domaine ? car dans ce cas, ca fonctionne

Pour utiliser un seul certificat SSL.

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

Qui est en ligne (Afficher la liste complète)

  • Il n’y a aucun utilisateur enregistré actuellement en ligne

Account

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.