2017-08-22 3 views
0

Je suis en train de déployer une application Bokeh Server qui nécessite un paramètre d'entrée (« Partie ») sous la forme:Nginx Reverse Proxy & Réécrire avec des paramètres

(1) http://127.0.0.1:5100/myapp?Part=1234-567 

Je veux utiliser Réécriture de sorte que lorsqu'un l'utilisateur touche l'URL ci-dessous

(2) http://<my_hostname>/myappRenamed/Part=1234-567 

Nginx reverse proxy à l'URL (1)

en ce moment, mon fichier de configuration est similaire ci-dessous.

location /myappRenamed/ { 
    proxy_pass http://127.0.0.1:5100; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host:$server_port; 
    proxy_buffering off; 
} 

Cela fonctionne quand je frappe

http://<my_hostname>/myappRenamed/myapp?Part=1234-567 

Sauf que je veux l'URL à

http://<my_hostname>/myappRenamed/Part=1234-567 
+0

Merci Simon mais cela ne m'aide pas ou ne répond pas à la question. Mon serveur est déjà opérationnel. Je suis déjà en train de servir des applications flacon couple ainsi que cette application Bokeh Server. Ce cas spécifique est principalement un problème de réécriture d'URL Nginx. Je veux juste que mon URL soit conviviale. Flask rend ceci facile à faire dans Python. Malheureusement, Bokeh Server ne le fait pas. – xdzzz

Répondre

0

Vous devriez réécrire l'URL d'abord, ce qui en fait l'URL conviviale à l'aide des capacités de réécriture de nginx et proxy:

location /myappRenamed/ { 
    rewrite ^/myapp(.*) /$1 break; 
    proxy_pass http://127.0.0.1:5100; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host:$server_port; 
    proxy_buffering off; 
} 

Je n'ai pas votre ENV donc je ne peux pas vraiment tester la règle mais vous avez le concept.

+0

Cela ne fonctionne pas. Il n'analyse aucun paramètre. Il redirige juste vers la page principale de l'application http://127.0.0.1:5100/myapp/ – xdzzz