मुझे एक रिवर्स प्रॉक्सी के रूप में फ्लास्क और nginx का उपयोग करके चलने वाले एप्लिकेशन हैं। मुझे अपने /birthday/ स्थान से स्थिर फ़ाइलों को परोसने में समस्या आ रही है।

location /{
    proxy_pass http:127.0.0.1:6060;
}

जिस ऐप में समस्या हो रही है वह है।

 location /birthday/
 {
     proxy_pass http:127.0.0.1:6061;
 }

मैं निम्नलिखित थक गया हूँ।

 location /birthday/{
   root /var/www/birthday_app/static;
   try_files $uri @bday
 }
 location @bday{
    proxy_pass http:127.0.0.1:6061;
  }

जब मैं सेवा करता हूं http://127.0.0.1/birthday/static/image.png तो मुझे स्टेटस नो फाउंड मिलता है। मैं स्थिर फ़ाइलों की सेवा के लिए जन्मदिन ऐप को कैसे ठीक करूं?

1
user3525290 2 नवम्बर 2019, 01:43

1 उत्तर

सबसे बढ़िया उत्तर

तो यूआरआई /birthday/static/image.png एक फ़ाइल को /var/www/birthday_app/static/image.png पर इंगित करता है? आप इस स्थिति में स्वयं root का उपयोग नहीं कर सकते। आपको rewrite...break या alias का उपयोग करना होगा।

साथ ही, यदि /birthday/static/ से शुरू होने वाले URI स्थिर फ़ाइलें और /birthday/ रिवर्स प्रॉक्सी अपस्ट्रीम से शुरू होने वाले अन्य सभी URI प्रदान करते हैं, तो आप अपने कॉन्फ़िगरेशन को दो location ब्लॉक में विभाजित कर सकते हैं।

उदाहरण के लिए:

location /birthday/static/ {
    alias /var/www/birthday_app/static/;
}
location /birthday/ {
    proxy_pass http://127.0.0.1:6061;
}

location और alias का मान दोनों / के साथ समाप्त होना चाहिए या न ही / के साथ समाप्त होना चाहिए। विवरण के लिए यह दस्तावेज़ देखें।

URI /birthday/foo को बिना किसी संशोधन के http://127.0.0.1:6061/birthday/foo पर अपस्ट्रीम में भेज दिया जाएगा। यदि आपको इसके बजाय http://127.0.0.1:6061/foo में मैप किए गए URI की आवश्यकता है, तो proxy_pass स्टेटमेंट में एक पिछला / जोड़ें। विवरण के लिए यह दस्तावेज़ देखें।

1
Richard Smith 2 नवम्बर 2019, 12:39