Nginx এ বেসিক এইচটিটিপি প্রমাণীকরণ কীভাবে কনফিগার করবেন to


বেসিক এইচটিটিপি প্রমাণীকরণ হ'ল সাধারণ ব্যবহারকারীর নাম/পাসওয়ার্ড প্রমাণীকরণ সেটআপ করে আপনার ওয়েবসাইট/অ্যাপ্লিকেশন বা এর কিছু অংশে অ্যাক্সেস সীমাবদ্ধ করার জন্য একটি সুরক্ষা ব্যবস্থা। এটি সম্পূর্ণ HTTP সার্ভার, স্বতন্ত্র সার্ভার ব্লক (অ্যাপাচে ভার্চুয়াল হোস্টগুলি) বা অবস্থানের ব্লকগুলি সুরক্ষিত করার জন্য প্রয়োজনীয়ভাবে ব্যবহার করা যেতে পারে।

নামটি যেমন বোঝায়, এটি নির্ভর করার কোনও নিরাপদ পদ্ধতি নয়; আপনার অন্যান্য নির্ভরযোগ্য সুরক্ষা ব্যবস্থার সাথে এটি ব্যবহার করা উচিত। উদাহরণস্বরূপ, যদি আপনার ওয়েব অ্যাপ্লিকেশনটি এইচটিটিপিতে চলছে, তবে ব্যবহারকারীর শংসাপত্রগুলি সরল পাঠ্যে প্রেরণ করা হয়, তাই আপনার এইচটিটিপিএস সক্ষম করার বিষয়টি বিবেচনা করা উচিত।

এই গাইডের উদ্দেশ্য হ'ল আপনার ওয়েব অ্যাপ্লিকেশনগুলিতে ব্যক্তিগত/সুবিধাযুক্ত সামগ্রী (যেমন, তবে প্রশাসকের পক্ষে সীমাবদ্ধ নয়) সুরক্ষার জন্য আপনাকে সুরক্ষার একটি ছোট তবে দরকারী স্তর যুক্ত করতে সহায়তা করা। আপনি কোনও ওয়েবসাইট বা অ্যাপ্লিকেশন অ্যাক্সেস রোধ করতে এটি ব্যবহার করতে পারেন যা এখনও উন্নয়নের পর্যায়ে রয়েছে।

  1. CentOS/RHEL 7
  2. এ এলইএমপি স্ট্যাক ইনস্টল করুন
  3. উবুন্টু/ডেবিয়ানে এলইএমপি স্ট্যাক ইনস্টল করুন

HTTP প্রমাণীকরণ ব্যবহারকারী ফাইল তৈরি করুন

আপনার এমন একটি ফাইল তৈরি করে শুরু করা উচিত যা ব্যবহারকারীর নাম: পাসওয়ার্ড জোড়া সঞ্চয় করবে। এই ফাইলটি তৈরি করতে আমরা অ্যাপাচি এইচটিটিপি সার্ভারের htpasswd ইউটিলিটিটি ব্যবহার করব।

প্রথমে পরীক্ষা করুন যে apache2-utils বা httpd- সরঞ্জামগুলি, htpasswd ইউটিলিটি সরবরাহকারী প্যাকেজগুলি আপনার সিস্টেমে ইনস্টল করা আছে, অন্যথায় এটি ইনস্টল করার জন্য আপনার বিতরণ করার জন্য উপযুক্ত কমান্ডটি চালান:

# yum install httpd-tools		[RHEL/CentOS]
$ sudo apt install apache2-utils	[Debian/Ubuntu]

এরপরে, প্রথম ব্যবহারকারীর সাথে পাসওয়ার্ড ফাইল তৈরি করতে নীচে htpasswd কমান্ডটি চালান। পাসওয়ার্ড ফাইলটি নির্দিষ্ট করতে -c বিকল্পটি ব্যবহার করা হয়, একবার আপনি [এন্টার] চাপলে আপনার ব্যবহারকারীর পাসওয়ার্ড প্রবেশ করতে বলা হবে।

# htpasswd -c /etc/nginx/conf.d/.htpasswd developer

দ্বিতীয় ব্যবহারকারী যুক্ত করুন এবং এখানে -c বিকল্পটি ব্যবহার করবেন না।

# htpasswd /etc/nginx/conf.d/.htpasswd admin

এখন আপনার কাছে পাসওয়ার্ড ফাইল প্রস্তুত রয়েছে, আপনার ওয়েব সার্ভারের যে অংশগুলিতে আপনি অ্যাক্সেস সীমাবদ্ধ রাখতে চান সেটি কনফিগার করতে এগিয়ে যান। পাসওয়ার্ড ফাইলের সামগ্রী দেখতে (যার মধ্যে ব্যবহারকারীর নাম এবং এনক্রিপ্ট করা পাসওয়ার্ড রয়েছে) নীচের বিড়াল আদেশটি ব্যবহার করুন।

# cat /etc/nginx/conf.d/.htpasswd 

এনগিনেক্সের জন্য এইচটিটিপি প্রমাণীকরণ কনফিগার করুন

যেমনটি আমরা আগেই উল্লেখ করেছি, আপনি নিজের ওয়েবসার্ভার, একটি একক ওয়েবসাইট (এটির সার্ভার ব্লক ব্যবহার করে) বা কোনও অবস্থান নির্দেশিকা অ্যাক্সেসকে সীমাবদ্ধ করতে পারেন। এটি অর্জনে দুটি কার্যকর নির্দেশিকা ব্যবহার করা যেতে পারে।

  • auth_basic - "HTTP বেসিক প্রমাণীকরণ" প্রোটোকল ব্যবহার করে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের বৈধতা সক্রিয় করে
  • auth_basic_user_file - পাসওয়ার্ড ফাইল নির্দিষ্ট করে।

সমস্ত সার্ভার ব্লকের ক্ষেত্রে প্রযোজ্য পুরো ওয়েব সার্ভারের জন্য মৌলিক প্রমাণীকরণ কার্যকর করতে, /etc/nginx/nginx.conf ফাইলটি খুলুন এবং HTTP প্রসঙ্গে নীচের লাইনগুলি যুক্ত করুন:

http{
	auth_basic           "Restricted Access!";
    	auth_basic_user_file /etc/nginx/conf.d/.htpasswd; 
	……...
}

কোনও নির্দিষ্ট ডোমেন বা সাব-ডোমেনের জন্য মৌলিক প্রমাণীকরণ সক্ষম করতে, এটির কনফিগারেশন ফাইলটি /etc/nginx/conf.d/ বা/etc/nginx/conf/সাইট-এর অধীনে খুলুন (আপনি এনগিনেক্স কীভাবে ইনস্টল করেছেন তার উপর নির্ভর করে), তারপরে যুক্ত করুন সার্ভার ব্লক বা প্রসঙ্গে নীচে কনফিগারেশন:

server {
	listen 			80;
	server_name    	  example.com;
	auth_basic           	"Restricted Access!";
    	auth_basic_user_file 	/etc/nginx/conf.d/.htpasswd; 
	location /  {
		……..
	}
	……...
}

আপনি কোনও অবস্থান নির্দেশের মধ্যেও মৌলিক প্রমাণীকরণ সক্ষম করতে পারেন। নীচের উদাহরণে, /অ্যাডমিন অবস্থান ব্লকটি অ্যাক্সেস করার চেষ্টা করা সমস্ত ব্যবহারকারীকে প্রমাণীকরণ করতে বলা হবে।

server {
	listen 			80;
	server_name    	example.com www.example.com;
	
	location / {
		……..
	}
	location /admin/ {
		auth_basic           	"Restricted Access!";
    		auth_basic_user_file 	/etc/nginx/conf.d/.htpasswd; 
	}

	location /public/{
		auth_basic  off;	#turns off basic http authentication off for this block
	}
	……..
}

আপনি যদি বেসিক এইচটিটিপি প্রমাণীকরণটি কনফিগার করেছেন তবে আপনার ব্যবহারকারীর জন্য যারা আপনার ওয়েবসারভার বা উপ-ডোমেন বা কোনও সাইটের নির্দিষ্ট অংশ অ্যাক্সেস করার চেষ্টা করছেন তাদের নীচে স্ক্রিনশটটিতে যেমন ব্যবহারকারীর নাম এবং পাসওয়ার্ড জিজ্ঞাসা করা হবে ।

ব্যর্থ ব্যবহারকারী প্রমাণীকরণের ক্ষেত্রে, "401 অনুমোদন প্রয়োজনীয়" ত্রুটি নীচের মত প্রদর্শিত হবে।

বেসিক HTTP প্রমাণীকরণের মাধ্যমে অ্যাক্সেসকে সীমাবদ্ধ করতে আপনি আরও তথ্য পেতে পারেন।

আপনি নিম্নলিখিত দরকারী Nginx HTTP সার্ভার সম্পর্কিত গাইড পড়তে পছন্দ করতে পারেন।

  1. এনগিনেক্সে ওয়েব ডিরেক্টরিগুলি কীভাবে পাসওয়ার্ড করা যায়
  2. এনগিনেক্সের সুরক্ষা, কঠোরতা এবং উন্নতি করার চূড়ান্ত গাইড
  3. এনগিনেক্সের জন্য এনক্রিপ্ট এসএসএল শংসাপত্রের সাথে এইচটিটিপিএস সেটআপ করা হচ্ছে

এই গাইড ইন, আমরা Nginx HTTP ওয়েব সার্ভারে বেসিক HTTP প্রমাণীকরণ কীভাবে প্রয়োগ করতে হবে তা দেখিয়েছি। কোন প্রশ্ন জিজ্ঞাসা করতে, নীচের প্রতিক্রিয়া ফর্ম ব্যবহার করুন।