Nginx HTTP কে HTTPS এ পুন Redনির্দেশিত করুন

Nginx Redirect Http Https



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

এই নিবন্ধে, আমরা কিভাবে ওয়েব ট্রাফিককে HTTP থেকে Nginx- এ একটি নিরাপদ HTTPS- এ পুন redনির্দেশিত করব তা নিয়ে কাজ করব।







প্রতিক্রিয়া এবং অনুরোধগুলি HTTP তে প্লেইনটেক্স আকারে ফেরত দেওয়া হয়, যেখানে HTTPS ক্লায়েন্ট এবং সার্ভার সিস্টেমের মধ্যে যোগাযোগ এনক্রিপ্ট করতে SSL/TLS ব্যবহার করে। অতএব অনেক কারণে, HTTPS HTTP- র উপরে ব্যবহার করা হয়, যা নীচে তালিকাভুক্ত:



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

প্রতিটি সাইট সংস্করণের জন্য একটি পৃথক সার্ভার ব্লকে Nginx- এ HTTP- র HTTP- এ ট্র্যাফিক পুন redনির্দেশিত করা পছন্দনীয়। সার্ভারের অস্বাভাবিক আচরণের কারণ হতে পারে এমন দিক ব্যবহার করে ট্র্যাফিককে পুনirectনির্দেশিত করা এড়ানোর পরামর্শ দেওয়া হয়।



HTTP থেকে HTTPS এ সমস্ত ট্র্যাফিক পুনirectনির্দেশিত করুন

HTTP থেকে HTTPS সংস্করণে সমস্ত ট্র্যাফিক পুন redনির্দেশিত করার জন্য Nginx কনফিগারেশন ফাইলে নিম্নলিখিত পরিবর্তনগুলি যুক্ত করুন:





সার্ভার {
শোন 80default_server;
সার্ভার নাম _;
প্রত্যাবর্তন 301https: //$ host$ request_uri;
}

নীচে, আমরা উপরে উল্লিখিত প্রতিটি শব্দ বিশদভাবে বর্ণনা করেছি:

80 ডিফল্ট_ সার্ভার শুনুন - এটি আপনার সিস্টেমকে সংকেত দেবে যা পোর্ট 80 এ সমস্ত HTTP ট্র্যাফিক ধরবে।
সার্ভার_নাম _ - এটি এমন ডোমেইন যা যেকোন হোস্টনামের সাথে মিলবে।



রিটার্ন 301 https: // $ host $ request_uri - এটি আপনার সার্চ ইঞ্জিনগুলিকে বলে যে এটি স্থায়ীভাবে পুন redনির্দেশিত করে। এটি নির্দিষ্ট করে যে পরিবর্তনশীল $ host ডোমেইন নাম ধারণ করে।

একবার আপনি কনফিগারেশন সেটিংস পরিবর্তন করলে, আপনাকে আপনার সিস্টেমে Nginx পরিষেবাগুলি পুনরায় লোড করতে হবে। সুতরাং, নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার Nginx পরিষেবাগুলি পুনরায় লোড করুন:

$sudosystemctl পুনরায় লোড nginx

Nginx- এ নির্দিষ্ট ডোমেইনের জন্য HTTP- কে HTTPS সংস্করণে পুনirectনির্দেশ করুন

আপনার ডোমেইনে SSL সার্টিফিকেট ইন্সটল করার পর এই ডোমেইনের জন্য আপনার দুটি সার্ভার ব্লক অপশন থাকবে। একটি ব্লক হল 80 পোর্টে HTTP ভার্সন শোনার জন্য, এবং দ্বিতীয় সংস্করণ হল পোর্ট 443 এ HTTPS। তবে, একটি ওয়েবসাইট ডোমেইনকে HTTP থেকে HTTPS এ পুন redনির্দেশিত করতে, আপনাকে Nginx কনফিগারেশন খুলতে হবে। আপনি/etc/nginx/sites-available ডিরেক্টরিতে এই কনফিগারেশন ফাইলটি সনাক্ত করতে পারেন। যাই হোক না কেন, যদি আপনি এই ফাইলটি খুঁজে না পান তবে আপনি এটি /etc/nginx/nginx.conf,/usr/local/nginx/conf অথবা/usr/local/etc/nginx দিয়ে অনুসন্ধান করতে পারেন এবং তারপর সম্পাদন করতে পারেন এই ফাইলে নিম্নলিখিত পরিবর্তনগুলি:

সার্ভার {
শোন 80;
সার্ভার নাম domain-name.com www.domain-name.com;
প্রত্যাবর্তন 301https://domain-name.com$ request_uri;
}

আসুন উপরের কোড লাইনটি লাইন দ্বারা বুঝতে পারি।
80 শুনুন - 80 পোর্ট ব্যবহার করে, সার্ভার সমস্ত আগত সংযোগ নির্দিষ্ট ডোমেইন শুনবে।

Server_name domain-name.com www.domain-name.com-এটি ডোমেইন নাম নির্দিষ্ট করে। সুতরাং, এটিকে আপনার ওয়েবসাইটের ডোমেন নাম দিয়ে প্রতিস্থাপন করুন যা আপনি পুনirectনির্দেশিত করতে চান।

রিটার্ন 301 https: //domain-name.com$request_uri-এটি ট্রাফিকটিকে সাইটের HTTPS ভার্সনে নিয়ে যায়। $ Request_uri ভেরিয়েবলটি সম্পূর্ণ মূল অনুরোধ URI- এর জন্য ব্যবহার করা হয় যেখানে আর্গুমেন্টগুলিও অন্তর্ভুক্ত থাকে।

নিম্নলিখিত পদ্ধতি ব্যবহার করে, আপনি HTTPS www সংস্করণে সাইটের নন-www সংস্করণে ট্রাফিক পুন redনির্দেশিত করতে পারেন। নন- www এবং www উভয় সংস্করণের জন্য একটি পৃথক সার্ভার ব্লকে একটি পুনirectনির্দেশ তৈরি করার সুপারিশ করা হয়।

একটি উদাহরণ দিয়ে ব্যাখ্যা করা যাক। আপনি যদি www HTTPS অনুরোধগুলিকে নন-www সংস্করণে পুন redনির্দেশিত করতে চান, তাহলে আপনি নিম্নলিখিত কনফিগারেশন অনুসরণ করবেন:

সার্ভার {
শোন 80;
সার্ভার নাম domain-name.com www.domain-name.com;
প্রত্যাবর্তন 301https://domain-name.com$ request_uri;
}
সার্ভার {
শোন 443 ssl http2;
সার্ভার নাম www.domain-name.com;
#। । । অন্য কোড
প্রত্যাবর্তন 301https://domain-name.com$ request_uri;
}
সার্ভার {
শোন 443 ssl http2;
সার্ভার নাম domain-name.com;

#। । । অন্য কোড
}

ডোমেইন নামটি আপনার ডোমেনের সাথে প্রতিস্থাপন করুন, যেমন www.linuxhint.com।

উপসংহার

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