2017-08-22 3 views
0

Ich versuche, einen Bokeh-Server-Anwendung bereitstellen, die einen Eingabeparameter ("Part") in Form erfordert:Nginx Reverse Proxy & Rewrite mit Parametern

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

ich Rewrite verwenden möchten, so dass, wenn ein Benutzer trifft die unter URL

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

Nginx Reverse-Proxys zu URL (1)

Gerade jetzt, meine Config-Datei unten ähnlich ist.

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; 
} 

Dies funktioniert, wenn ich

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

getroffen Außer, dass ich die URL

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

Hier ist eine gute Tutorial Tutorial https://www.digitalcocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-14-04 –

+0

Danke Simon aber das hilft mir nicht oder beantworte die Frage. Ich habe bereits meinen Server richtig eingerichtet. Ich benutze tatsächlich bereits ein paar Flaschenanwendungen sowie diese Bokeh Server-Anwendung. Dieser spezielle Fall ist hauptsächlich ein Problem des Nginx-URL-Umschreibens. Ich möchte nur, dass meine URL benutzerfreundlich ist. Flask macht das innerhalb von Python einfach. Leider Bokeh Server nicht. – xdzzz

Antwort

0

Sie sollten die URL umschreiben ersten, so dass es URL freundlich mit Nginx Rewrite-Funktionen sein wollen und die Bevollmächtigen Sie es:

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; 
} 

Ich habe deine ENV nicht, also kann ich die Regel nicht wirklich testen, aber du hast das Konzept.

+0

Dies funktioniert nicht. Es analysiert keine Parameter. Es wird einfach auf die Hauptanwendungsseite http://127.0.0.1:5100/myapp/ weitergeleitet. – xdzzz