इसे छोड़कर कंटेंट पर जाएं

रिवर्स प्रॉक्सी और URL base

सेटअप

HolyArrs को अपने रिवर्स प्रॉक्सी के पीछे https://home.example/holyarrs जैसे एड्रेस पर रखें।

रिवर्स प्रॉक्सी आपके ऐप के आगे लगा वह वेब सर्वर है जो हर एड्रेस को सही कंटेनर तक भेजता है। URL base वह पाथ है जिसके नीचे HolyArrs रहता है।

  1. अपनी Compose फ़ाइल में पाथ जोड़ें:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. कंटेनर रीस्टार्ट करें।

  3. प्रॉक्सी के उदाहरण से एक प्रॉक्सी नियम जोड़ें।

  4. https://home.example/holyarrs/ खोलें। साइन-इन पेज दिखना चाहिए। Settings > This app (सेटिंग > यह ऐप) में इस्तेमाल हो रहा पाथ दिखता है।

पाथ कहाँ सेट करें

पाथ कहाँ सेट करें का लिंक
कहाँ कब लागू होता है
HOLYARRS_URL_BASE शुरू होने पर। बाकी सब पर भारी पड़ता है।
-url-base /holyarrs फ़्लैग शुरू होने पर, जब वेरिएबल सेट न हो।
Settings > This app अगली बार शुरू होने पर, सिर्फ़ तब जब वेरिएबल और फ़्लैग दोनों सेट न हों।

प्रॉक्सी के उदाहरण

प्रॉक्सी के उदाहरण का लिंक

nginx-proxy-manager. अपने डोमेन के लिए एक प्रॉक्सी होस्ट बनाएं, फिर एक कस्टम लोकेशन जोड़ें:

  • Location: /holyarrs
  • Forward hostname holyarrs, पोर्ट 6262। आख़िर में स्लैश न लगाएं, वरना पाथ हट जाता है।
  • उस लोकेशन के गियर वाले बॉक्स में:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_read_timeout 1h;

Traefik. StripPrefix middleware न जोड़ें।

labels:
- traefik.enable=true
- traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`)
- traefik.http.services.holyarrs.loadbalancer.server.port=6262

Caddy. handle इस्तेमाल करें। handle_path पाथ हटा देता है।

home.example {
handle /holyarrs* {
reverse_proxy holyarrs:6262 {
flush_interval -1
}
}
}

होस्ट नाम और प्रॉक्सी के एड्रेस

होस्ट नाम और प्रॉक्सी के एड्रेस का लिंक
  • अगर लोग HolyArrs तक किसी होस्ट नाम से पहुँचते हैं, तो उसे HOLYARRS_ALLOWED_HOSTS में जोड़ें।
  • अगर प्रॉक्सी X-Forwarded-For जोड़ता है, तो प्रॉक्सी का एड्रेस HOLYARRS_TRUSTED_PROXIES में जोड़ें। इसके बिना साइन-इन यह नहीं जान सकता कि आपके घर के नेटवर्क पर कौन है।
लक्षण वजह हल
हर पेज not found कहता है प्रॉक्सी पाथ हटा देता है पाथ हटाने वाली सेटिंग या आख़िर का स्लैश हटाएं।
लाइव अपडेट कभी नहीं आते प्रॉक्सी जवाबों को बफ़र करता है बफ़रिंग बंद करें (proxy_buffering off, flush_interval -1)।
सेव किए हुए पाथ की वजह से आप बाहर रह गए सेव किया हुआ पाथ ग़लत है उसे अनदेखा करने के लिए HOLYARRS_URL_BASE=/ के साथ शुरू करें।
साइन-इन आपको अपने नेटवर्क के बाहर का मानता है प्रॉक्सी पर भरोसा सेट नहीं है X-Real-IP और X-Forwarded-For भेजें, और HOLYARRS_TRUSTED_PROXIES सेट करें।

और हल: समस्या सुलझाना।

एक्सपर्ट के लिए

एक्सपर्ट के लिए का लिंक
पाथ के नियम
  • जो अक्षर चलते हैं: अक्षर, अंक, -, _, . और /। .. या // नहीं।
  • holyarrs, /holyarrs और /holyarrs/ तीनों का मतलब /holyarrs है।
  • सेव किया हुआ जो पाथ सही नहीं है, उसे अनदेखा कर दिया जाता है।
  • सब कुछ पाथ के नीचे चला जाता है: पेज, API, लाइव अपडेट, साइन-इन, और वे लिंक जो HolyArrs बनाता है (इनवाइट लिंक, कैलेंडर फ़ीड)।
  • /healthz और /readyz रूट पर भी जवाब देते हैं, ताकि इमेज का अपना हेल्थ चेक चलता रहे।
  • पाथ के बाहर का कोई भी और एड्रेस not found जवाब देता है।
प्रॉक्सी को क्या करना चाहिए
ज़रूरत क्यों
पाथ बिना बदले आगे भेजना HolyArrs पूरे पाथ के हिसाब से रूट करता है।
Host हेडर बनाए रखना होस्ट की जाँच और बनाए गए लिंक इसी का इस्तेमाल करते हैं।
जवाबों की बफ़रिंग नहीं लाइव अपडेट एक खुले जवाब पर स्ट्रीम होते हैं।
पढ़ने का लंबा टाइमआउट (1 घंटा) लाइव अपडेट की स्ट्रीम खुली रहती है।

HolyArrs मुफ़्त है। अगर इससे आपका समय बचा, तो GitHub पर स्टार दें, स्पॉन्सर करें या मुझे एक कॉफ़ी पिलाएं।