में एक सब-पाथ को gunicorn पर चल रहा http://127.0.0.1:4000
पर gunicorn के साथ चल रहे एक फ्लास्क ऐप्लिकेशन है, उनके एक फ्लास्क एप्लिकेशन:प्रॉक्सी nginx
gunicorn -b 127.0.0.1:4000 webapp:app
अब मैं में http://127.0.0.1:4000
को एक रिवर्स प्रॉक्सी के रूप में nginx का उपयोग करें और http://myserver.com/webapp
अग्रेषित करने के लिए चाहते हैं एक तरीका है कि प्रत्येक 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/
हल किया गया: स्निपेट http://flask.pocoo.org/snippets/35/ काम करता है! मेरे टेम्पलेट्स में कुछ पूर्ण URL थे (उदा। /task/delete
) और उन्हें सब कुछ url_for()
में बदलना पड़ा। टुकड़ा http://flask.pocoo.org/snippets/35/ काम करता है, मैं तो मेरे टेम्पलेट्स में संपूर्ण URL के लिए बेवकूफ था:
बेवकूफ ... लेकिन अब यह उम्मीद की तरह काम करता है, मैं 'http://myserver.com/subpath'
क्या आप केवल फ्लास्क ऐप प्रोग्राम में अपने नियंत्रक दिखा सकते हैं? – Karthikeyan
@ कार्तिकेयन ने किया! –
तो, myserver.com/today काम कर रहा है, लेकिन myserver.com/webapp/today नहीं, है ना? – Karthikeyan