У меня есть приложение Flask работает с gunicorn на http://127.0.0.1:4000
:Proxy приложение Колба работает на gunicorn в подкаталог в Nginx
gunicorn -b 127.0.0.1:4000 webapp:app
Теперь я хотел бы использовать Nginx в качестве обратного прокси-сервера и вперед http://myserver.com/webapp
к http://127.0.0.1:4000
в способ, которым каждый http://myserver.com/webapp/subpath
отправляется http://127.0.0.1:4000/subpath
.
прокси/перенаправление работает хорошо, если не используется подконтуром:
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;
}
}
Как я могу установить
location /webapp {
#go to my gunicorn app, translate URLs nicely
}
Этот совет от разработчиков КОЛБУ не получилось:
http://flask.pocoo.org/snippets/35/
SOLVED: фрагмент http://flask.pocoo.org/snippets/35/ работает! У меня было несколько абсолютных URL-адресов в моих шаблонах (например, /task/delete
) и пришлось изменить все на url_for()
.
Глупая ... но теперь он работает, как и ожидалось, у меня есть мое приложение на «http://myserver.com/subpath»
Можете ли вы просто показать свои контроллеры в программе приложений для флэков? – Karthikeyan
@ Karthikeyan сделано! –
Итак, myserver.com/today работает, но не myserver.com/webapp/today, не так ли? – Karthikeyan