ভার্চুয়াল হোস্ট এবং এসএসএল শংসাপত্র সহ এনগিনেক্স কীভাবে ইনস্টল করবেন


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

এই নিবন্ধে কীভাবে এনগিনেক্সকে এইচটিটিপি সার্ভার হিসাবে ব্যবহার করতে হবে, ওয়েব সামগ্রীর পরিবেশন করতে এটি কনফিগার করতে হবে এবং নাম ভিত্তিক ভার্চুয়াল হোস্ট সেটআপ করতে হবে এবং উবুন্টু এবং সেন্টোস-এ স্ব-স্বাক্ষরিত শংসাপত্র সহ সুরক্ষিত ডেটা ট্রান্সমিশনের জন্য এসএসএল তৈরি এবং ইনস্টল করা হবে discuss ।

Nginx ওয়েব সার্ভারটি কীভাবে ইনস্টল করবেন

প্রথমে আপনার প্যাকেজ ম্যানেজার হিসাবে প্রদর্শিত হিসাবে অফিসিয়াল সংগ্রহস্থল থেকে Nginx প্যাকেজ ইনস্টল করে শুরু করুন।

------------ On Ubuntu ------------ 
$ sudo apt update 
$ sudo apt install nginx 

------------ On CentOS ------------
$ sudo yum update 
$ sudo yum install epel-release 
$ sudo yum install nginx 

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

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

এই মুহুর্তে, এনগিনেক্স ওয়েব সার্ভারটি চালু এবং চলমান হওয়া উচিত, আপনি নেটস্ট্যাট কমান্ডের মাধ্যমে স্থিতিটি যাচাই করতে পারেন।

$ sudo netstat -tlpn | grep nginx

যদি আপনার সিস্টেমে ফায়ারওয়াল সক্ষম করা থাকে তবে আপনাকে চালনা করে যথাক্রমে HTTP এবং HTTPS ট্র্যাফিকের অনুমতি দেওয়ার জন্য 80 এবং 443 পোর্টটি খুলতে হবে port

------------ On CentOS ------------
$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

------------ On Ubuntu ------------ 
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload 

এনগিনেক্স ইনস্টলেশন পরীক্ষা করার জন্য এবং এটি ওয়েব পৃষ্ঠাগুলি পরিবেশন করতে সক্ষম কিনা তা যাচাই করার জন্য আদর্শ পদ্ধতিটি একটি ওয়েব ব্রাউজারটি খোলার মাধ্যমে এবং সার্ভারের আইপিটিতে ইঙ্গিত করে।

http://Your-IP-Address
OR
http://Your-Domain.com

একটি কাজের ইনস্টলেশন নিম্নলিখিত স্ক্রিন দ্বারা নির্দেশিত করা উচিত।

কীভাবে এনগিনেক্স ওয়েব সার্ভার কনফিগার করবেন

এনগিনেক্সের কনফিগারেশন ফাইলগুলি /etc/nginx ডিরেক্টরিতে অবস্থিত এবং বিশ্বব্যাপী কনফিগারেশন ফাইলটি সেন্টোস এবং উবুন্টু উভয়ের /etc/nginx/nginx.conf এ অবস্থিত।

এনগিনেক্স মডিউলগুলি নিয়ে গঠিত যা বিভিন্ন কনফিগারেশন বিকল্প দ্বারা নিয়ন্ত্রিত হয়, যা নির্দেশ হিসাবে পরিচিত। একটি নির্দেশিকা হয় সহজ (ফর্মের নাম এবং একটি ; দ্বারা সমাপ্ত মানগুলিতে) বা ব্লক ( {} ব্যবহার করে অতিরিক্ত নির্দেশাবলী রয়েছে) হতে পারে। এবং একটি ব্লক নির্দেশিকা যাতে অন্যান্য নির্দেশাবলী থাকে তাকে প্রসঙ্গ বলা হয়।

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

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

আমরা মূল কনফিগারেশন ফাইলে কনফিগারেশন কাঠামো সংক্ষেপে ব্যাখ্যা করে শুরু করব।

 
$ sudo vim /etc/nginx/nginx.conf

আপনি যদি এই এনগিনেক্স কনফিগারেশন ফাইলটি সন্ধান করেন তবে কনফিগারেশন কাঠামোটি নিম্নরূপে উপস্থিত হওয়া উচিত এবং এটিকে মূল প্রসঙ্গ হিসাবে উল্লেখ করা হয়, এতে আরও অনেক সাধারণ এবং ব্লক নির্দেশ রয়েছে। সমস্ত ওয়েব ট্রাফিক http প্রসঙ্গে পরিচালিত হয়।

user  nginx;
worker_processes  1;
.....

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
.....

events {
       	.....
}

http {
	server{
		…….
	}
	.....
}

নীচে একটি নমুনা এনজিনেক্সের প্রধান কনফিগারেশন (/etc/nginx/nginx.conf) ফাইল রয়েছে, যেখানে উপরের HTTP ব্লকের একটি অন্তর্ভুক্ত নির্দেশিকা রয়েছে যা ওয়েবসাইট কনফিগারেশন ফাইলগুলি (ভার্চুয়াল হোস্ট কনফিগারেশন) কোথায় পাবেন তা Nginx কে বলে।

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

   include /etc/nginx/mime.types;
   default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
	
    include /etc/nginx/conf.d/*.conf;
}

নোট করুন যে উবুন্টুতে, আপনি অতিরিক্ত অন্তর্ভুক্ত নির্দেশিকা (অন্তর্ভুক্ত/ইত্যাদি/এনগিনেক্স/সাইটগুলি সক্ষম/*;) পাবেন, যেখানে ডিরেক্টরিতে/etc/nginx/সাইটগুলি সক্ষম/ডিরেক্টরিতে ওয়েবসাইটের কনফিগারেশন ফাইলগুলিতে সিমলিঙ্কগুলি সঞ্চয় করে/ইত্যাদি/এনগিনেক্স/সাইটগুলি উপলভ্য /, সাইটগুলি সক্ষম করতে। এবং একটি সিমিলিংক মোছা সেই নির্দিষ্ট সাইটটিকে অক্ষম করে।

আপনার ইনস্টলেশন উত্সের ভিত্তিতে, আপনি ডিফল্ট ওয়েবসাইট কনফিগারেশন ফাইলটি /etc/nginx/conf.d/default.conf এ পাবেন (যদি আপনি সরকারী এনজিআইএনএক্স সংগ্রহস্থল এবং ইপিইএল থেকে ইনস্টল করেন) বা/ইত্যাদি/এনগিনএক্স/সাইটগুলি সক্ষম/ডিফল্ট পাবেন (আপনি যদি উবুন্টু সংগ্রহশালা থেকে ইনস্টল করেন)।

এটি আমাদের পরীক্ষার সিস্টেমে /etc/nginx/conf.d/default.conf এ অবস্থিত আমাদের নমুনা ডিফল্ট nginx সার্ভার ব্লক।

server {
    listen    80 default_server;
    listen    [::]:80 default_server;
    server_name    _;
    root           /var/www/html/;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }
}

উপরের কনফিগারেশনে নির্দেশের সংক্ষিপ্ত বিবরণ:

  • শোনো: সার্ভার শোনার পোর্টটি নির্দিষ্ট করে।
  • সার্ভার_নাম: সার্ভারের নাম সংজ্ঞায়িত করে যা সঠিক নাম, ওয়াইল্ডকার্ডের নাম বা নিয়মিত এক্সপ্রেশন হতে পারে
  • রুট: Nginx ওয়েব পৃষ্ঠা এবং অন্যান্য দস্তাবেজগুলি পরিবেশন করবে সেই ডিরেক্টরিটি নির্দিষ্ট করে।
  • সূচক: পরিবেশন করা হতে হবে সূচি ফাইলের গুলি (গুলি) নির্দিষ্ট করে।
  • অবস্থান: নির্দিষ্ট ফাইল এবং ফোল্ডারগুলির জন্য অনুরোধগুলি প্রক্রিয়া করতে ব্যবহৃত

ওয়েব ব্রাউজার থেকে, আপনি হোস্টনাম লোকালহোস্ট বা এর আইপি ঠিকানা ব্যবহার করে সার্ভারের দিকে ইঙ্গিত করলে, এটি অনুরোধটি প্রসেস করে এবং /var/www/html/index.html ফাইলটি সরবরাহ করে এবং তাত্ক্ষণিকভাবে ইভেন্টটিকে তার অ্যাক্সেস লগটিতে সংরক্ষণ করে (/ 200 (ওকে) প্রতিক্রিয়া সহ var/log/nginx/access.log)। কোনও ত্রুটির ক্ষেত্রে (ব্যর্থ ঘটনা), এটি ত্রুটি লগটিতে (/var/log/nginx/error.log) বার্তাটি রেকর্ড করে।

এনগিনেক্সে লগিং সম্পর্কে আরও জানতে, আপনি Nginx- এ কীভাবে কাস্টম অ্যাক্সেস বা ত্রুটিযুক্ত লগ ফর্ম্যাটগুলি কনফিগার করবেন তা উল্লেখ করতে পারেন।

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

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

এমন একটি ফাইল তৈরি করে শুরু করুন যা এইচটিপাসডউইডি ইউটিলিটি ব্যবহার করে আপনার অ্যাক্সেস শংসাপত্রগুলি (ব্যবহারকারীর নাম/পাসওয়ার্ড) সংরক্ষণ করবে।

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

উদাহরণস্বরূপ, আসুন এই তালিকায় ব্যবহারকারীর অ্যাডমিন যুক্ত করুন (আপনি যতটা সম্ভব ব্যবহারকারীকে যুক্ত করতে পারেন), যেখানে -c বিকল্পটি পাসওয়ার্ড ফাইল নির্দিষ্ট করতে ব্যবহৃত হয় এবং -B পাসওয়ার্ড এনক্রিপ্ট করতে। একবার আপনি [এন্টার] টিপুন, আপনাকে ব্যবহারকারীদের পাসওয়ার্ড লিখতে বলা হবে:

$ sudo htpasswd -Bc /etc/nginx/conf.d/.htpasswd admin

তারপরে পাসওয়ার্ড ফাইলে যথাযথ অনুমতি এবং মালিকানা নির্ধারণ করা যাক (উবুন্টুতে ডাব্লু-ডেটা দিয়ে ব্যবহারকারী এবং গ্রুপ এনগিনেক্সকে প্রতিস্থাপন করুন)।

$ sudo chmod 640 /etc/nginx/conf.d/.htpasswd
$ sudo chown nginx:nginx /etc/nginx/conf.d/.htpasswd

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

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

উদাহরণস্বরূপ, আমরা কীভাবে ডিরেক্টরি/var/www/html/সুরক্ষিত ডিরেক্টরিটি পাসওয়ার্ড-সুরক্ষিত করব তা দেখাব।

server {
    listen         80 default_server;
    server_name    localhost;
    root           /var/www/html/;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }
     
    location /protected/ {
        auth_basic              "Restricted Access!";
        auth_basic_user_file    /etc/nginx/conf.d/.htpasswd;
    }
}

এখন, পরিবর্তনগুলি সংরক্ষণ করুন এবং এনগিনেক্স পরিষেবা পুনরায় চালু করুন।

$ sudo systemctl restart nginx 

পরের বার আপনি উপরের ডিরেক্টরিটিতে আপনার ব্রাউজারটিকে নির্দেশ করুন (HTTP:/লোকালহোস্ট/সুরক্ষিত) আপনাকে আপনার লগইন শংসাপত্রগুলি (ব্যবহারকারী নাম প্রশাসক এবং নির্বাচিত পাসওয়ার্ড) প্রবেশ করতে বলা হবে।

একটি সফল লগইন আপনাকে ডিরেক্টরি সামগ্রীতে অ্যাক্সেস করার অনুমতি দেয়, অন্যথায় আপনি একটি "401 অনুমোদন প্রয়োজনীয়" ত্রুটি পাবেন।

Nginx- এ নাম-ভিত্তিক ভার্চুয়াল হোস্টগুলি (সার্ভার ব্লক) কীভাবে সেটআপ করবেন

সার্ভার প্রসঙ্গটি একই শারীরিক মেশিন বা ভার্চুয়াল প্রাইভেট সার্ভার (ভিপিএস) থেকে একাধিক ডোমেন/সাইটগুলিতে সঞ্চয় এবং পরিবেশন করার অনুমতি দেয়। একাধিক সার্ভার ব্লক (ভার্চুয়াল হোস্টগুলি উপস্থাপন করে) প্রতিটি সাইট/ডোমেনের জন্য http প্রসঙ্গের মধ্যে ঘোষণা করা যেতে পারে। Nginx সিদ্ধান্ত নেয় যে কোন সার্ভারটি অনুরোধ শিরোনামের ভিত্তিতে অনুরোধটি প্রক্রিয়াকরণ করে।

আমরা এই ধারণাটি নিম্নলিখিত ডামি ডোমেনগুলি ব্যবহার করে প্রদর্শিত করব, প্রত্যেকটি নির্দিষ্ট ডিরেক্টরিতে অবস্থিত:

  • wearelinux-console.net - /var/www/html/wearelinux-console.net/
  • ওয়েলওলিনাক্স ডটকম - /var/www/html/welovelinux.com/

এরপরে, প্রতিটি সাইটের জন্য ডিরেক্টরিতে যথাযথ অনুমতি বরাদ্দ করুন।

$ sudo chmod -R 755 /var/www/html/wearelinux-console.net/public_html 
$ sudo chmod -R 755 /var/www/html/welovelinux.com/public_html 

এখন, প্রতিটি পাবলিক_এইচটিএমএল ডিরেক্টরিতে একটি নমুনা সূচক। Html ফাইল তৈরি করুন।

<html>
	<head>
		<title>www.wearelinux-console.net</title>
	</head>
<body>
	<h1>This is the index page of www.wearelinux-console.net</h1>
</body>
</html>

এরপরে, /etc/httpd/conf.d ডিরেক্টরিতে প্রতিটি সাইটের জন্য সার্ভার ব্লক কনফিগারেশন ফাইলগুলি তৈরি করুন।

$ sudo vi /etc/nginx/conf.d/wearelinux-console.net.conf
$ sudo vi /etc/nginx/conf.d/welovelinux.com.conf

Wearelinux-console.net.conf ফাইলে নিম্নলিখিত সার্ভার ব্লক ঘোষণা যুক্ত করুন।

server {
    listen         80;
    server_name  wearelinux-console.net;
    root           /var/www/html/wearelinux-console.net/public_html ;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }
     
}

এরপরে, ওয়েলভিলিনক্স ডটকম.কনফ ফাইলটিতে নিম্নলিখিত সার্ভার ব্লক ঘোষণা যুক্ত করুন।

server {
    listen         80;
    server_name    welovelinux.com;
    root           /var/www/html/welovelinux.com/public_html;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }
     
}

সাম্প্রতিক পরিবর্তনগুলি প্রয়োগ করতে, Nginx ওয়েব সার্ভারটি পুনরায় চালু করুন।

$ sudo systemctl restart nginx

এবং উপরের ঠিকানাগুলিতে আপনার ওয়েব সার্ভারের দিকে ইঙ্গিত করা আপনাকে ডামি ডোমেনগুলির প্রধান পৃষ্ঠাগুলি দেখতে দেয়।

http://wearelinux-console.net
http://welovelinux.com

গুরুত্বপূর্ণ: আপনি যদি SELinux সক্ষম করে থাকেন তবে এর ডিফল্ট কনফিগারেশনটি Nginx কে সুপরিচিত অনুমোদিত স্থানের বাইরে ফাইলগুলি অ্যাক্সেসের অনুমতি দেয় না (যেমন কনফিগারেশনের জন্য/ইত্যাদি/এনগিনেক্স, লগের জন্য/var/লগ/এনগিনেক্স,/var/www/html ওয়েব ফাইল ইত্যাদির জন্য ..)।

আপনি এটি সেলইনাক্স অক্ষম করে বা সঠিক সুরক্ষা প্রসঙ্গটি সেট করে পরিচালনা করতে পারেন। আরও তথ্যের জন্য, এই গাইডটি দেখুন: এনগিনেক্স প্লাস ওয়েবসাইটে সেলিনাক্সের সাথে এনগিনেক্স এবং এনগিনেক্স প্লাস ব্যবহার করুন।

এনগিনেক্সের মাধ্যমে কীভাবে এসএসএল ইনস্টল ও কনফিগার করবেন

এসএসএল শংসাপত্রগুলি আপনার সাইটে সুরক্ষিত http (HTTPS) সক্ষম করতে সহায়তা করে, যা আপনার ব্যবহারকারী বা আপনার সাইটের মধ্যে প্রেরণ করা তথ্য এনক্রিপ্ট করে শেষ ব্যবহারকারী এবং আপনার সার্ভারের মধ্যে একটি বিশ্বস্ত/সুরক্ষিত সংযোগ স্থাপনের জন্য প্রয়োজনীয়।

আমরা স্ব-স্বাক্ষরিত শংসাপত্র কীভাবে তৈরি এবং ইনস্টল করব এবং এনগিনেক্সের সাথে ব্যবহারের জন্য শংসাপত্র কর্তৃপক্ষের (সিএ) একটি এসএসএল শংসাপত্র অর্জন করার জন্য একটি শংসাপত্র স্বাক্ষর করার অনুরোধ (সিএসআর) জেনারেট করব।

স্ব-স্বাক্ষরিত শংসাপত্রগুলি নিখরচায় এবং পরীক্ষার উদ্দেশ্যে এবং কেবল অভ্যন্তরীণ ল্যান-কেবল পরিষেবাগুলির জন্য যেতে ব্যবহারিকভাবে ভাল। জনসাধারণের মুখোমুখি সার্ভারগুলির জন্য, এটির সত্যতা ধরে রাখতে সিএ দ্বারা জারি করা একটি শংসাপত্র (উদাহরণস্বরূপ লেটস এনক্রিপ্ট) ব্যবহার করার পরামর্শ দেওয়া হয়।

স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করতে, প্রথমে একটি ডিরেক্টরি তৈরি করুন যেখানে আপনার শংসাপত্রগুলি সংরক্ষণ করা হবে।

$ sudo mkdir /etc/nginx/ssl-certs/

তারপরে আপনার স্ব-স্বাক্ষরিত শংসাপত্র এবং ওপেনসেল কমান্ড লাইন সরঞ্জামটি ব্যবহার করে কী তৈরি করুন।

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl-certs/nginx.key -out /etc/nginx/ssl-certs/nginx.crt

আসুন সংক্ষেপে উপরের কমান্ডটিতে ব্যবহৃত বিকল্পগুলি বর্ণনা করুন:

  • রেকর্ড -X509 - দেখায় যে আমরা একটি x509 শংসাপত্র তৈরি করছি
  • নোড (কোনও ডিইএস) - এর অর্থ "কীটি এনক্রিপ্ট করবেন না"
  • - দিনগুলি 365 - শংসাপত্রের জন্য কত দিন বৈধ হবে তা নির্দিষ্ট করে।
  • -নিউকি আরএসএ: 2048 - নির্দিষ্ট করে যে আরএসএ অ্যালগরিদম ব্যবহার করে উত্পন্ন কীটি 2048-বিট হওয়া উচিত
  • -কিআউট /etc/nginx/ssl-certs/nginx.key - আরএসএ কী এর সম্পূর্ণ পথ নির্দিষ্ট করে।
  • -out /etc/nginx/ssl-certs/nginx.crt - শংসাপত্রের পুরো পথ নির্দিষ্ট করে।

এরপরে, আপনার ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলটি খুলুন এবং 443 পোর্টে একটি সার্ভার ব্লক ডিক্লারেশন শ্রবণে নিম্নলিখিত লাইনগুলি যুক্ত করুন /

$ sudo vi /etc/nginx/conf.d/wearelinux-console.net.conf

তারপরে nginx কনফিগারেশন ফাইলে এসএসএল নির্দেশিকা যুক্ত করুন, এটি নীচের মত দেখতে হবে look

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    
    ssl on;
    ssl_certificate /etc/nginx/ssl-certs/nginx.crt;
    ssl_trusted_certificate /etc/nginx/ssl-certs/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl-certs/nginx.key;
    
    server_name  wearelinux-console.net;
    root           /var/www/html/wearelinux-console.net/public_html;
    index          index.html;
    location / {
                try_files $uri $uri/ =404;
        }

}

এখন Nginx পুনরায় চালু করুন এবং আপনার ব্রাউজারটি নীচের ঠিকানায় নির্দেশ করুন।

https://www.wearelinux-console.net

আপনি যদি কোনও সিএ থেকে কোনও এসএসএল শংসাপত্র কিনতে চান, আপনাকে প্রদর্শিত হিসাবে শংসাপত্র স্বাক্ষর করার অনুরোধ (সিএসআর) তৈরি করতে হবে।

$ sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl-certs/example.com.key -out /etc/nginx/ssl-certs/example.com.csr

আপনি বিদ্যমান ব্যক্তিগত কী থেকে একটি সিএসআর তৈরি করতে পারেন।

$ sudo openssl req -key /etc/nginx/ssl-certs/example.com.key -new -out /etc/nginx/ssl-certs/example.com.csr

তারপরে, আপনাকে সিএ-স্বাক্ষরিত এসএসএল শংসাপত্র জারির অনুরোধ জানাতে সিএসআর প্রেরণ করা দরকার to আপনি একবার সিএ থেকে আপনার শংসাপত্র গ্রহণ করলে, আপনি উপরে বর্ণিত হিসাবে এটি কনফিগার করতে পারেন।

এই নিবন্ধে, আমরা কীভাবে এনগিনেক্স ইনস্টল ও কনফিগার করব তা ব্যাখ্যা করেছি; কীভাবে ওয়েব সার্ভার এবং একটি ক্লায়েন্টের মধ্যে ডেটা সংক্রমণ সুরক্ষিত করতে SSL- সহ নাম-ভিত্তিক ভার্চুয়াল হোস্টিং সেটআপ করবেন to

আপনি যদি আপনার এনজিএনএক্স ইনস্টলেশন/কনফিগারেশন প্রক্রিয়া চলাকালীন কোনও ধরণের সমস্যায় পড়ে থাকেন বা কোনও প্রশ্ন বা মন্তব্য করেন তবে আমাদের কাছে পৌঁছাতে নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।