বিষয়বস্তুতে যান

রিভার্স প্রক্সি ও 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। আপনার ডোমেইনের জন্য একটি proxy host বানান, তারপর একটি কাস্টম লোকেশন যোগ করুন:

  • 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 h) লাইভ আপডেট স্ট্রিম খোলা থাকে।

HolyArrs বিনামূল্যে। এটি আপনার সময় বাঁচিয়ে থাকলে GitHub-এ স্টার দিন, স্পনসর করুন অথবা এক কাপ কফি কিনে দিন।