Technical Anshu হোম › টিউটোরিয়াল › Nginx প্রক্সি ম্যানেজার ইনস্টল করুন
🐳 ডকার রিভার্স প্রক্সি

Nginx প্রক্সি ম্যানেজার ইনস্টল - 2-মিনিট সেটআপ গাইড

আপনার পরিষেবাগুলি বর্তমানে 192.168.1.50:8080 এর মতো কুৎসিত ঠিকানাগুলিতে বাস করে৷ Nginx প্রক্সি ম্যানেজার এগুলিকে বিনামূল্যে HTTPS সহ app.yourdomain.com-এর মতো পরিষ্কার নামগুলিতে পরিণত করে - একটি ডকার কম্পোজ ফাইলের সাথে ইনস্টল করা এবং হাতে লেখা কনফিগার ফাইলগুলির পরিবর্তে একটি সাধারণ ওয়েব প্যানেল থেকে পরিচালিত৷

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Nginx প্রক্সি ম্যানেজার ইনস্টল - 2-মিনিট সেটআপ গাইড
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑অধ্যায়

  1. একটি বিপরীত প্রক্সি কি করে - আপনার সমস্ত পরিষেবার জন্য একটি দরজা
  2. শুরু করার আগে আপনার যা প্রয়োজন - ডকার, একটি ডোমেন এবং পৌঁছানো যোগ্য পোর্ট
  3. কোনও কিছু ইনস্টল করার আগে সার্ভারে আপনার ডোমেন DNS নির্দেশ করুন
  4. ফোল্ডার এবং docker-compose.yml ফাইল তৈরি করুন
  5. একটি কমান্ড দিয়ে Nginx প্রক্সি ম্যানেজার শুরু করুন
  6. প্রথম লগইন - অ্যাডমিন অ্যাকাউন্ট ধাপে সবাই ভুল হয়ে যায়
  7. ক্ষেত্র অনুসারে আপনার প্রথম প্রক্সি হোস্ট তৈরি করুন
  8. বিনামূল্যে লেটস এনক্রিপ্ট HTTPS শংসাপত্র পান এবং ফোর্স এসএসএল চালু করুন

📋 ওভারভিউ এবং ধাপে ধাপে গাইড

1

আপনি শুরু করার আগে কি প্রয়োজন

Nginx প্রক্সি ম্যানেজার (NPM) কাজ করার আগে তিনটি জিনিস বিদ্যমান থাকা আবশ্যক। প্রথমত, ডকার এবং ডকার কম্পোজ সহ একটি লিনাক্স সার্ভার বা পিসি ইতিমধ্যে ইনস্টল এবং কাজ করছে - NPM একটি সাধারণ প্রোগ্রাম হিসাবে নয়, একটি ধারক হিসাবে চলে। দ্বিতীয়ত, একটি ডোমেইন নাম যার DNS আপনি সম্পাদনা করতে পারেন, কারণ প্রতিটি পরিষেবা তার নিজস্ব সাবডোমেন পায়। তৃতীয়ত, আপনার রাউটার বা ক্লাউড ফায়ারওয়াল অবশ্যই এই মেশিনে পোর্ট 80 এবং 443 ফরোয়ার্ড করতে সক্ষম হবে।

📌 শিরোনামে "2 মিনিট" সম্পর্কে: কন্টেইনারটি নিজেই সত্যিকারের দ্রুত শুরু হয় - তবে শুধুমাত্র একবার ডকার ইতিমধ্যেই ইনস্টল করা হয় এবং এই গাইডে প্রস্তুতি সম্পন্ন হয়৷ একটি নতুন মেশিনে, সেটআপ, ডিএনএস এবং শংসাপত্রের ধাপগুলির জন্য সঠিক সময় দিন; সৎ মোট দুই মিনিটের চেয়ে বেশি।
⚠️ CGNAT-এর পিছনে একটি হোম কানেকশনে, পোর্ট ফরওয়ার্ডিং একেবারেই কাজ করতে পারে না - NPM-এর ভিতরে কোনও সেটিং এটি ঠিক করে না। তারপরে সৎ বিকল্পগুলি হল আপনার ISP থেকে একটি পাবলিক/স্ট্যাটিক আইপি, একটি ছোট ভাড়া করা VPS, বা পরিবর্তে একটি টানেল টুল৷ এই চেকটি এড়িয়ে যাবেন না: সমস্ত "NPM কাজ করে না" গল্পের অর্ধেক সত্যিই "পোর্টগুলি কখনই সার্ভারে পৌঁছেনি" গল্প।
2

প্রথমে আপনার ডোমেন DNS সার্ভারে নির্দেশ করুন

NPM নাম অনুসারে ট্র্যাফিককে রুট করে, এবং এনক্রিপ্ট শুধুমাত্র সেই নামগুলির জন্য শংসাপত্র ইস্যু করতে দেয় যা আপনার মেশিনের দিকে নির্দেশ করে - তাই আপনি এটিতে কিছু তৈরি করার আগে নামটিকে সমাধান করতে হবে। আপনার রেজিস্ট্রার বা DNS হোস্টে, একটি A রেকর্ড যোগ করুন: নামটি শুধুমাত্র সাবডোমেন শব্দ (উদাহরণস্বরূপ অ্যাপ) এবং মান হল আপনার সার্ভারের সর্বজনীন IP ঠিকানা। প্রতিটি পরিষেবা তার নিজস্ব রেকর্ড পায়, এবং তারা সকলেই একই IP-এ নির্দেশ করতে পারে - NPM পরে, নাম অনুসারে পরিষেবাগুলিকে আলাদা করে৷ একটি সংক্ষিপ্ত TTL সেট করুন যেমন পরীক্ষার সময় 300 সেকেন্ড, যাতে ভুলগুলি ঘন্টার পরিবর্তে মিনিটে বিবর্ণ হয়ে যায়।

আপনি চালিয়ে যাওয়ার আগে এটি প্রমাণ করুন: নামটি বাইরের নেটওয়ার্ক থেকে আপনার সর্বজনীন আইপিতে সমাধান করে কিনা তা পরীক্ষা করে দেখুন (উদাহরণস্বরূপ, Wi-Fi বন্ধ থাকা আপনার ফোন থেকে)। ভাঙা DNS বর্জ্যের বিরুদ্ধে একটি শংসাপত্রের অনুরোধ এনক্রিপ্ট করার চেষ্টা করতে দেয়, এবং বারবার ব্যর্থতা আপনাকে ঘন্টার জন্য রেট-সীমিত করতে পারে। অর্ডার গুরুত্বপূর্ণ: ডিএনএস প্রথম, প্রক্সি হোস্ট দ্বিতীয়, শংসাপত্র তৃতীয়।

3

ফোল্ডার এবং কম্পোজ ফাইল তৈরি করুন

সার্ভারে NPM-এর জন্য একটি ফোল্ডার তৈরি করুন এবং নিচের ফাইলটিকে docker-compose.yml হিসাবে সংরক্ষণ করুন। এই একক ফাইলটি সম্পূর্ণ ইনস্টলেশন। ছবির নাম অফিসিয়াল কমিউনিটি ইমেজ। পোর্ট 80 এবং 443 হল সর্বজনীন দরজা, পোর্ট 81 হল অ্যাডমিন প্যানেল, এবং দুটি ভলিউম হল যেখানে আপনার সম্পূর্ণ সেটআপ থাকে: ./data আপনার সমস্ত প্রক্সি হোস্টের সাথে ডাটাবেস ধারণ করে, এবং ./letsencrypt আপনার সার্টিফিকেট ধারণ করে। এই দুটি ফোল্ডার হারাবেন এবং আপনি পুরো সেটআপটি হারাবেন - যখন জিনিসগুলি চলছে তখন তাদের ব্যাক আপ করুন৷

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

পুনঃসূচনা: বন্ধ না হলে লাইনটি পুনরায় বুট করার পরে স্বয়ংক্রিয়ভাবে NPM ফিরিয়ে আনে।

4

Nginx প্রক্সি ম্যানেজার শুরু করুন

সেই ফোল্ডারের ভিতর থেকে, স্টার্ট কমান্ডটি চালান। ডকার ছবিটি ডাউনলোড করে এবং পটভূমিতে ধারকটি শুরু করে।

Terminal
docker compose up -d

এটি চলছে তা পরীক্ষা করুন:

Terminal
docker ps

আপনি পোর্ট 80, 443 এবং 81 সহ তালিকাভুক্ত কন্টেইনার দেখতে পাবেন। একটি ছোট সার্ভারে প্রথম শুরুতে এক বা দুই মিনিট সময় লাগে যখন ডাটাবেস তৈরি হয়। যদি ধারকটি পুনরায় চালু হয়, লগগুলি সরল ভাষায় কারণ দেখায়:

Terminal
docker compose logs

দশটির মধ্যে নয়বার একটি রিস্টার্ট লুপ হল একটি পোর্ট যা ইতিমধ্যে হোস্টে অন্য কিছু দ্বারা ব্যবহৃত হয় - সাধারণত একটি পুরানো ওয়েব সার্ভার এখনও চলছে৷

5

প্রথম লগইন - অবিলম্বে অ্যাডমিন অ্যাকাউন্ট সুরক্ষিত করুন

আপনার নিজের নেটওয়ার্কে একটি ব্রাউজারে অ্যাডমিন প্যানেল খুলুন:

Browser Address Bar
http://your-server-ip:81

প্রথম মিনিটে এটি করুন। বিল্ডের উপর নির্ভর করে, NPM হয় আপনাকে আপনার নিজের ইমেল এবং একটি শক্তিশালী পাসওয়ার্ড দিয়ে সুপরিচিত প্রথম-লগইন অ্যাডমিনিস্ট্রেটরের বিবরণ প্রতিস্থাপন করতে বলে, অথবা - কোনো ডিফল্ট অ্যাকাউন্ট ছাড়াই নতুন বিল্ডে - অ্যাডমিন পৃষ্ঠা খুলতে প্রথম ব্যক্তি প্রশাসক তৈরি করেন। যেভাবেই হোক নিয়মটি একই: অন্য কিছু তৈরি করার আগে কন্টেইনারটি শুরু হওয়ার মুহুর্তে আপনার নিজস্ব অ্যাডমিন অ্যাকাউন্ট সেট আপ করুন এবং একটি আসল মেলবক্স ব্যবহার করুন - NPM ইমেল যা শংসাপত্রের সমস্যাগুলির সমাধান করে৷

⚠️ পোর্ট 81 কখনই সর্বজনীনভাবে পৌঁছানো যাবে না যখন আপনি "পরে এটি শেষ করবেন"। ইন্টারনেটে যে কেউ প্যানেলটি খুঁজে পান তিনি প্রথমে আপনার প্রক্সির মালিক৷ অ্যাডমিন প্যানেলটি শুধুমাত্র আপনার নিজস্ব নেটওয়ার্কে রাখুন।
6

আপনার প্রথম প্রক্সি হোস্ট তৈরি করুন

NPM-এ হোস্ট → প্রক্সি হোস্ট → প্রক্সি হোস্ট যোগ করুন খুলুন এবং একটি বাক্য হিসাবে ফর্মটি পূরণ করুন - "এই নামটি সেই অভ্যন্তরীণ পরিষেবাতে যায়":

ডোমেন নাম: app.yourdomain.com - ধাপ 2 থেকে সঠিক সর্বজনীন নাম, যা ইতিমধ্যেই আপনার সার্ভারে সমাধান করতে হবে।
স্কিম: বেশিরভাগ হোম এবং অফিস অ্যাপের জন্য http। স্কিম NPM এবং অভ্যন্তরীণ পরিষেবার মধ্যে সংযোগ বর্ণনা করে, দর্শকরা যা ব্যবহার করে তা নয় - NPM দরজায় সর্বজনীন এনক্রিপশন পরিচালনা করে। অভ্যন্তরীণ অ্যাপটি নিজেই HTTPS পরিবেশন করলেই এখানে https বেছে নিন।
ফরওয়ার্ড হোস্টনাম / আইপি: পরিষেবার অভ্যন্তরীণ ঠিকানা, উদাহরণস্বরূপ 192.168.1.50।
ফরওয়ার্ড পোর্ট: পরিষেবাটি আসলে যে পোর্টে শোনে, উদাহরণস্বরূপ 8080 - 80 বা 443 নয়; সেগুলি হল NPM-এর দরজা, পরিষেবার নয়৷

ব্লক কমন এক্সপ্লয়েট চালু করুন, তারপর সেভ করুন। একটি ব্রাউজারে নাম খোলার মাধ্যমে অবিলম্বে পরীক্ষা করুন - আদর্শভাবে আপনার ফোন থেকে Wi-Fi বন্ধ আছে, যাতে আপনি প্রকৃত সর্বজনীন পথটি পরীক্ষা করেন৷

✅ NPM থেকে একটি 502 খারাপ গেটওয়ে একটি সাইনপোস্ট, একটি ব্যর্থতা নয়: এর মানে হল যে বাইরের বিশ্ব NPM পুরোপুরি পৌঁছেছে এবং শুধুমাত্র শেষ অভ্যন্তরীণ হপ - হোস্টনাম বা পোর্ট - ভুল। সেই ক্ষেত্রটি ঠিক করুন, পুরো সেটআপটি নয়। আরও একটি ফাঁদ: পরিষেবাটি অন্য ডকার কন্টেইনারে চলে গেলে, localhost ভুল (NPM-এর কন্টেইনারের ভিতরে, localhost মানে NPM নিজেই) - প্রকাশিত পোর্টের সাথে সার্ভারের LAN IP ব্যবহার করুন, অথবা উভয় কন্টেইনারকে একই ডকার নেটওয়ার্কে রাখুন এবং কন্টেইনারের নাম ব্যবহার করুন।
7

ফ্রি লেটস এনক্রিপ্ট HTTPS সার্টিফিকেট পান

ধাপ 6 থেকে প্লেইন হোস্ট ইতিমধ্যে কাজ করার পরেই কেবল এটি করুন - একটি ভাঙা হোস্টে HTTPS আপনাকে একটি শংসাপত্র সহ একটি ভাঙা হোস্ট দেয় এবং ত্রুটিটি সন্ধান করার জন্য দ্বিগুণ জায়গা দেয়। একই প্রক্সি হোস্ট খুলুন, SSL ট্যাবে যান, SSL সার্টিফিকেট সেট করুন একটি নতুন SSL সার্টিফিকেটের অনুরোধ করুন, সক্ষম করুন SSL বল করুন এবং HTTP/2 সমর্থন, লেটস এনক্রিপ্ট করুন এবং পরিষেবার শর্তাবলীতে সম্মত হন। সাইটটি পুনরায় লোড করুন - ব্রাউজারটিকে এখন https-এ প্যাডলক দেখাতে হবে।

এটি কীভাবে কাজ করে: এনক্রিপ্ট প্রমাণ করে যে আপনি আপনার সার্ভারকে, পোর্ট 80-এ সর্বজনীন ইন্টারনেটের মাধ্যমে, একটি ওয়ান-টাইম টোকেন (HTTP-01 চ্যালেঞ্জ) দেখানোর জন্য জিজ্ঞাসা করে নাম নিয়ন্ত্রণ করেন। এই কারণেই DNS আপনার দিকে নির্দেশ করছে এবং একটি পৌঁছানো পোর্ট 80 অ-আলোচনাযোগ্য - যেকোন একটিতে ব্যর্থ হয় এবং অনুরোধটি ব্যর্থ হয়, এবং ত্রুটিটি সেটআপে থাকে, লেটস এনক্রিপ্টে কখনই নয়। Force SSL প্রত্যেক http ভিজিটরকে স্বয়ংক্রিয়ভাবে https-এ পুনঃনির্দেশ করে; এটি ছাড়া এনক্রিপ্ট করা দরজাটি এনক্রিপ্ট করা দরজার পাশে খোলা থাকে।

📌 শংসাপত্রগুলি 90 দিনের জন্য বেঁচে থাকে এবং NPM সেগুলি স্বয়ংক্রিয়ভাবে পুনর্নবীকরণ করে, সাধারণত মেয়াদ শেষ হওয়ার প্রায় এক মাস আগে, একই পোর্ট-80 প্রমাণ ব্যবহার করে। যদি একটি পুনর্নবীকরণ কখনও ব্যর্থ হয়, প্রথমে বিরক্তিকর কারণগুলি পরীক্ষা করুন: DNS পরিবর্তন করা হয়েছিল, রাউটার ফরওয়ার্ডিং সরানো হয়েছিল, বা পোর্ট 80 ব্লক করা হয়েছিল৷ একটি পরিষেবা নিষ্পত্তি এবং পুনর্নবীকরণ প্রমাণিত হলেই HSTS সক্ষম করুন - এটি একটি শক্তিশালী প্রতিশ্রুতি যা ব্রাউজাররা কয়েক মাস ধরে মনে রাখে৷

🏷️বিষয় অনুসন্ধান ভেরিয়েবল এবং কীওয়ার্ড

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ সম্পূর্ণ প্রতিলিপি — প্রসারিত করতে আলতো চাপুন

__TOK_34__

__TOK_35__

__TOK_36__

❓ প্রায়শই জিজ্ঞাসিত প্রশ্ন

এই টিউটোরিয়ালটি কি 100% বিনামূল্যে অনুসরণ করা যায়?

__TOK_37__

নতুনরা কি এই নির্দেশিকা অনুসরণ করতে পারে?

__TOK_38__

আমি আটকে গেলে আমি কোথায় প্রশ্ন করতে পারি?

__TOK_39__

🚀 YouTube-এ সম্পূর্ণ টিউটোরিয়াল দেখুন

__TOK_40__

__TOK_41__

▶️ সম্পূর্ণ ভিডিও দেখুন
এই টিউটোরিয়ালটি টেকনিক্যাল আনশু এর Nginx প্রক্সি ম্যানেজার ইনস্টল ভিডিওর উপর ভিত্তি করে তৈরি করা হয়েছে • কোন ধাপে আটকে আছে? ভিডিও মন্তব্যে জিজ্ঞাসা করুন — আপনি সেখানে সাহায্য পাবেন 🙏