Ich habe eine Flasche App mit gunicorn läuft auf http://127.0.0.1:4000
:Proxy eine Flasche App auf gunicorn zu einem subpath in nginx läuft
gunicorn -b 127.0.0.1:4000 webapp:app
Nun möchte Ich mag nginx als Reverse Proxy verwenden und weiterleiten http://myserver.com/webapp
-http://127.0.0.1:4000
in Ein Weg, dass jeder http://myserver.com/webapp/subpath
geht zu http://127.0.0.1:4000/subpath
.
Der Proxy/funktioniert gut umleiten, wenn keine subpath mit:
upstream app {
server 127.0.0.1:4000 fail_timeout=0;
}
server {
listen 80 default;
client_max_body_size 4G;
server_name _;
location/{
proxy_pass http://app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
Wie kann ich
location /webapp {
#go to my gunicorn app, translate URLs nicely
}
Diese Spitze aus dem Kolben-Entwickler hat nicht funktioniert:
http://flask.pocoo.org/snippets/35/
Gelöst: Das Snippet http://flask.pocoo.org/snippets/35/ funktioniert! Ich hatte ein paar absolute URLs in meinen Vorlagen (z. B. /task/delete
) und musste alles in url_for()
ändern.
dumm ... aber jetzt funktioniert es wie erwartet, habe ich meinen App auf ‚http://myserver.com/subpath‘
Können Sie Ihre Controller einfach im Flask App-Programm anzeigen lassen? – Karthikeyan
@Karthikeya getan! –
Also, myserver.com/today funktioniert, aber nicht myserver.com/webapp/today, oder? – Karthikeyan