bg-tutorials

Joomla-এ SSL সার্টিফিকেট ইনস্টল করার এবং HTTPS বাধ্যতামূলক করার পদ্ধতি

একটি Joomla সাইটকে HTTPS-এ স্থানান্তর করতে তিনটি পদক্ষেপ প্রয়োজন: আপনার সার্ভারে একটি SSL সার্টিফিকেট ইনস্টল করা, Joomla-এর Global Configuration-এ Force HTTPS সেট করা, এবং একটি 301 রিডাইরেক্ট যুক্ত করা যাতে পুরনো HTTP লিঙ্কগুলো অনুসরণ করে। তৃতীয় পদক্ষেপে Joomla-নির্দিষ্ট একটি সমস্যা রয়েছে যা অধিকাংশ মানুষকে বিভ্রান্ত করে, এবং কোড দেওয়ার আগে নিচে তা আলোচনা করা হয়েছে।

সংক্ষিপ্ত উত্তর: আপনার হোস্টিং প্যানেলের মাধ্যমে সার্টিফিকেট ইনস্টল করুন, তারপর System > Global Configuration > Server-এ যান এবং Force HTTPS-কে Entire Site-এ সেট করুন। সার্ভার স্তরে একটি রিডাইরেক্ট যুক্ত করতে, প্রথমে আপনার Joomla রুটে htaccess.txt-এর নাম পরিবর্তন করে .htaccess করুন, কারণ Apache তার প্রদত্ত নামের অধীনে ফাইলটি উপেক্ষা করে।

SSL (Secure Sockets Layer-এর সংক্ষিপ্ত রূপ, যদিও আজকাল ইস্যু করা প্রতিটি সার্টিফিকেট TLS ব্যবহার করে) হলো এমন একটি বিষয় যা আপনার ঠিকানা বারের “Not Secure” লেবেল দূর করে। যদি আগে পেছনের কারণ জানতে চান, তাহলে পড়ুন SSL সার্টিফিকেট কী। এই পদক্ষেপগুলো Joomla 5 এবং Joomla 6-এর জন্য প্রযোজ্য।

কোন পদ্ধতি আপনার Joomla সেটআপের জন্য উপযোগী

আপনার সেটআপসার্টিফিকেট কীভাবে পাবেনপ্রায় কত সময়
AutoSSL সহ ম্যানেজড বা cPanel হোস্টপ্যানেলে বিনামূল্যে সার্টিফিকেট ইস্যু করুন, তারপর Force HTTPS সেট করুন১০ মিনিট
SSL টুল ছাড়া হোস্ট, বা আপনার নিজের VPSLet’s Encrypt সার্টিফিকেটের জন্য Certbot, তারপর Force HTTPS সেট করুন২০ মিনিট
পেইড সার্টিফিকেট (OV, EV বা wildcard)একটি CSR তৈরি করুন, ম্যানুয়ালি ইনস্টল করুন, তারপর Force HTTPS সেট করুন৩০ মিনিট এবং ভ্যালিডেশন সময়
আপনার সাইটের সামনে Cloudflareঅরিজিনে সার্টিফিকেট, Cloudflare-কে Full (strict)-এ সেট করা, এবং Behind Load Balancer চালু করা১৫ মিনিট

শুরু করার আগে একটি ব্যাকআপ নিন। Joomla-তে সাধারণত Akeeba Backup ব্যবহার করা হয়। এই প্রক্রিয়ার ব্যর্থতার ধরন হলো আপনার নিজের অ্যাডমিনিস্ট্রেটরের অ্যাক্সেস হারানো, এবং একটি ব্যাকআপ এবং নিচে configuration.php বিভাগে দেওয়া রিকভারি পদক্ষেপ আপনাকে এ থেকে বের করে আনবে।

একটি Joomla সাইটের কোন SSL সার্টিফিকেট ব্যবহার করা উচিত?

বিনামূল্যের বিকল্প থেকে শুরু করুন। অধিকাংশ হোস্ট স্বয়ংক্রিয়ভাবে বিনামূল্যে Let’s Encrypt সার্টিফিকেট ইস্যু করে, এবং একটি বিনামূল্যের সার্টিফিকেট যে এনক্রিপশন প্রদান করে তা পেইড সার্টিফিকেটের মতোই। একটি Joomla SSL সার্টিফিকেট থেকে আরেকটির মধ্যে যা ভিন্ন, তা হলো সার্টিফিকেট অথরিটি ইস্যু করার আগে কী যাচাই করেছে, এবং কিছু ভুল হলে আপনি কী পান।

ধরনCA কী যাচাই করেইস্যু হতে সময়উপযুক্ত
Domain Validation (DV)আপনি ডোমেইন নিয়ন্ত্রণ করেন কিনামিনিটের মধ্যেব্লগ, ব্রোশিওর সাইট, অধিকাংশ Joomla ইনস্টল
Organization Validation (OV)ডোমেইন এবং আপনার নিবন্ধিত সংস্থা১ থেকে ৩ কর্মদিবসব্যবসায়িক সাইট, সদস্য এলাকা, ক্লায়েন্ট পোর্টাল
Extended Validation (EV)কোম্পানির সম্পূর্ণ আইনগত এবং কার্যক্রমগত যাচাই১ থেকে ৩ কর্মদিবসদোকান, অর্থনৈতিক প্রতিষ্ঠান, যেখানে পরিচয় গুরুত্বপূর্ণ

আপনার Joomla ইনস্টল যদি সাবডোমেইন সার্ভ করে, তাহলে একটি wildcard সার্টিফিকেট একটি সার্টিফিকেটেই সবগুলো কভার করে। কোন ধরনটি প্রযোজ্য বুঝতে না পারলে? SSL Wizard কয়েকটি প্রশ্নের মাধ্যমে তা নির্ধারণ করতে সাহায্য করে।

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

আপনার সার্ভারে সার্টিফিকেট আনুন

Joomla সার্টিফিকেট ইনস্টল করে না। এই পদক্ষেপটি সার্ভারে ঘটে, Joomla-তে হাত দেওয়ার আগেই।

আপনার হোস্টিং প্যানেল থেকে

আপনার কন্ট্রোল প্যানেলে SSL/TLS, Let’s Encrypt বা AutoSSL খুঁজুন। cPanel-এ এটি Security-এর অধীনে থাকে। apex ডোমেইন এবং www সংস্করণ দুটোর জন্যই সার্টিফিকেট ইস্যু করুন, অন্যথায় যেটা মিস করবেন তা একটি নাম অমিল সতর্কবার্তা দেখাবে।

Let’s Encrypt সার্টিফিকেট ৯০ দিন স্থায়ী হয় এবং মেয়াদ শেষ হওয়ার প্রায় ৩০ দিন আগে স্বয়ংক্রিয়ভাবে রিনিউ হওয়ার কথা। যখন সেই স্বয়ংক্রিয়করণ ভেঙে যায়, সাধারণত ডোমেইন স্থানান্তর বা DNS পরিবর্তনের পরে, সাইটটি কয়েক সপ্তাহ কাজ করা চালিয়ে যায় এবং তারপর কোনো সতর্কতা ছাড়াই নিরাপদহীন হয়ে যায়। অটো-রিনিউয়াল চালু আছে কিনা নিশ্চিত করুন, এবং প্রথম প্রত্যাশিত রিনিউয়াল তারিখের পরে SSL Checker দিয়ে সার্টিফিকেট যাচাই করুন। যদি মেয়াদ শেষের তারিখ এগিয়ে যায়, তাহলে রিনিউয়াল কাজ করছে।

প্যানেল ছাড়া একটি VPS-এ

Certbot, Let’s Encrypt ক্লায়েন্ট ব্যবহার করুন। এটি কমান্ড লাইন থেকে সার্টিফিকেট ইস্যু করে, Apache বা Nginx কনফিগার করে, এবং নিজের রিনিউয়াল টাইমার ইনস্টল করে।

একটি পেইড সার্টিফিকেট ম্যানুয়ালি ইনস্টল করা

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

Joomla-তে HTTPS কীভাবে বাধ্যতামূলক করবেন

সার্ভারে কার্যকর একটি সার্টিফিকেট থাকলে, Joomla-কে তা ব্যবহার করতে বলুন। অ্যাডমিনিস্ট্রেটরে লগইন করুন এবং System > Global Configuration > Server-এ যান। সেই ট্যাবের উপরের Server ব্লকে আপনি Force HTTPS পাবেন, এবং এর তিনটি অবস্থা আছে, সাধারণ চালু-বন্ধের বদলে।

  • None। Joomla কিছুই করে না। পেজগুলো HTTP এবং HTTPS দুটোতেই পৌঁছানো যায়।
  • Administrator Only। অ্যাডমিনিস্ট্রেটর, এর লগইন স্ক্রিন সহ, HTTPS-এ বাধ্য করা হয়, এবং পাবলিক সাইট অপরিবর্তিত থাকে। যখন একটি সার্টিফিকেট এখনও ভ্যালিডেট হচ্ছে, বা যে সাইট আপনি পর্যায়ক্রমে স্থানান্তর করছেন, তখন এই অবস্থা ব্যবহার করুন। দর্শকরা যা দেখেন তা স্পর্শ না করেই আপনার নিজের পাসওয়ার্ড সরাসরি অরক্ষিতভাবে যাওয়া বন্ধ হয়ে যায়।
  • Entire Site। সবকিছু HTTPS-এ বাধ্য করা হয়। সার্টিফিকেট কাজ করছে নিশ্চিত হলে এটাই আপনার চাওয়া।

Entire Site নির্বাচন করুন এবং সেভ করুন। এটি করার আগে আপনার ডোমেইনে সার্টিফিকেট সমাধান হচ্ছে কিনা যাচাই করুন। সার্টিফিকেট ভাঙা বা অনুপস্থিত থাকা অবস্থায় Force HTTPS চালু করা হলে, অ্যাডমিনিস্ট্রেটরও অপ্রাপ্য হয়ে যাবে, এবং আপনার নিচের রিকভারি পদক্ষেপ প্রয়োজন হবে।

এই নির্দেশগুলো Joomla 5 এবং Joomla 6, দুটি সমর্থিত শাখার লক্ষ্যে করা হয়েছে। Joomla 6.0 অক্টোবর ২০২৫-এ প্রকাশিত হয়েছে, এবং Joomla 5 ১৩ অক্টোবর ২০২৬-এ কার্যকরী আপডেট পাওয়া বন্ধ করে দেবে, যার পরে অক্টোবর ২০২৭ পর্যন্ত শুধুমাত্র সিকিউরিটি প্যাচ থাকবে। যদি আপনি এখনও Joomla 3-এ থাকেন, এটি আগস্ট ২০২৩-এ এন্ড অফ লাইফ-এ পৌঁছেছে এবং সেটিং আলাদা জায়গায় থাকে, তাই এখানকার কিছু অনুসরণ করার আগে আপডেট করুন।

configuration.php থেকে Force HTTPS সেট করুন

Global Configuration-এর প্রতিটি সেটিং আপনার Joomla রুটে configuration.php-তে সংরক্ষিত থাকে। FTP-এর মাধ্যমে সেই ফাইল সম্পাদনা করাই হলো Force HTTPS আপনাকে অ্যাডমিনিস্ট্রেটর থেকে লকআউট করে দিলে যেভাবে আবার প্রবেশ পাবেন, যা ঠিক সেই পরিস্থিতি যেখানে ড্রপডাউনটি আর প্রাপ্য থাকে না।

সম্পর্কিত লাইনটি হলো:

public $force_ssl = 2;

মানগুলো তিনটি অবস্থার সাথে সামঞ্জস্যপূর্ণ: 0 হলো None, 1 হলো Administrator, এবং 2 হলো সাইট এবং অ্যাডমিনিস্ট্রেটর দুটোই। FTP-এর মাধ্যমে এটি আবার 0-এ সেট করলে সেকেন্ডের মধ্যে লকআউট বাতিল হয়ে যায়।

আশেপাশে আপনি একটি দ্বিতীয় লাইন পাবেন:

public $live_site = '';

বহু Joomla HTTPS টিউটোরিয়াল আপনাকে এটি আপনার https অ্যাড্রেস দিয়ে পূরণ করতে বলে, এবং অনেকেই এটি var $live_site লিখে দেখায়। সেই সিনট্যাক্স Joomla 1.5-এর, যা PHP 4 ক্লাস সিনট্যাক্স ব্যবহার করত এবং ২০১২ সালে অবসরে গিয়েছে। বর্তমান Joomla public ব্যবহার করে, এবং সেটিংটি ঐচ্ছিক হিসেবে ডকুমেন্ট করা আছে। সাইট URL পিন করার নির্দিষ্ট কারণ না থাকলে এটি খালি রাখুন। এটি HTTPS সক্রিয় করে না, এবং এটি ভুলভাবে সেট করা একটি Joomla সাইট ভেঙে দেওয়ার একটি সাধারণ কারণ। $force_ssl হলো সেটিং যা কাজ করে।

.htaccess-এ একটি 301 রিডাইরেক্ট যুক্ত করুন

Force HTTPS সেই রিকোয়েস্টগুলো পরিচালনা করে যা Joomla-এ পৌঁছায়। সার্ভার স্তরের একটি রিডাইরেক্ট দ্রুততর, কারণ এটি PHP চালু হওয়ার আগেই ঘটে, এবং Joomla যদি কখনো অফলাইন হয় তবুও এটি কাজ করা চালিয়ে যায়। Apache-তে এর মানে হলো .htaccess, এবং এখানেই সেই অংশ যা প্রায় প্রতিটি গাইড এড়িয়ে যায়।

প্রথমে, htaccess.txt-এর নাম পরিবর্তন করুন

Joomla ফাইলটি htaccess.txt হিসেবে সরবরাহ করে, .htaccess নয়। Apache সেই নামের অধীনে এটি উপেক্ষা করে। যদি আপনি htaccess.txt নামের ফাইলে, বা এখনও অস্তিত্বহীন একটি .htaccess ফাইলে রিডাইরেক্ট নিয়ম পেস্ট করেন, তাহলে কিছুই ঘটে না এবং কারণ বলার জন্য কোনো ত্রুটিও দেখায় না।

  • htaccess.txt-এর নাম পরিবর্তন করে .htaccess করুন আপনার Joomla রুটে। htaccess.txt সম্পাদনা করে সেটি সেখানে রাখবেন না: একটি Joomla আপডেট সেই ফাইলটি ওভাররাইট করে এবং আপনার পরিবর্তনগুলোও চলে যায়।
  • Global Configuration-এ Use URL Rewriting চালু করার আগে নামটি পরিবর্তন করুন। প্রথমে রিরাইটিং চালু করলে Joomla এমন URL তৈরি করা শুরু করে index.php ছাড়া যা Apache কীভাবে রুট করতে হয় জানে না, তাই হোম পেজ ছাড়া প্রতিটি পেজ 404 রিটার্ন করে।

তারপর রিডাইরেক্ট যুক্ত করুন

Joomla-এর নিজের রিরাইট ব্লকের উপরে, .htaccess-এর শুরুর দিকে এই লাইনগুলো যুক্ত করুন:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

দুটি বিষয় নির্ধারণ করে এটি কাজ করবে কিনা। কন্ডিশনটি off হতে হবে, যার মানে “রিকোয়েস্ট এখনও নিরাপদ না হলে রিডাইরেক্ট করুন”। প্রকাশিত অনেক স্নিপেটে যেমন অবাক করা পরিমাণে দেখা যায়, on লিখলে নিয়মটি কেবল ইতিমধ্যে HTTPS-এ থাকা রিকোয়েস্টগুলোতেই সক্রিয় হয় এবং তাদের আবার HTTPS-এ পাঠায়, যা একটি লুপ। এবং R=301 ফ্ল্যাগটিই এটিকে একটি স্থায়ী রিডাইরেক্ট বানায়। এটি ছাড়া, বা একটি খালি R দিয়ে, আপনি একটি সাময়িক 302 বা একটি অভ্যন্তরীণ রিরাইট পাবেন যা সার্চ ইঞ্জিনদের কখনো বলে না যে কিছু স্থানান্তরিত হয়েছে।

Nginx-এ

Nginx-এ কোনো .htaccess নেই এবং এটি Apache রিরাইট নিয়ম পড়ে না। এর পরিবর্তে সার্ভার ব্লক সম্পাদনা করুন:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

nginx -t দিয়ে পরীক্ষা করুন, তারপর systemctl reload nginx দিয়ে রিলোড করুন।

সুইচের পরে যা বাকি থাকে তা ঠিক করুন

Joomla ক্যাশ পরিষ্কার করুন। এটাই প্রথম করার কাজ এবং সবচেয়ে বেশি ভুলে যাওয়া কাজ। Joomla আনন্দের সাথে HTTP মার্কআপে ভরা ক্যাশড পেজ সার্ভ করা চালিয়ে যাবে, যা একটি সম্পন্ন মাইগ্রেশনকে ভাঙা মনে করাবে। Maintenance প্যানেলে System > Clear Cache-এ যান, এবং যদি আপনি CDN ব্যবহার করেন তবে সেটাও পরিষ্কার করুন।

মিশ্র বিষয়বস্তু ঠিক করুন। HTTPS-এ সার্ভ করা একটি পেজ যা এখনও একটি ছবি, স্ক্রিপ্ট বা স্টাইলশিট HTTP-এ লোড করে তা মিশ্র বিষয়বস্তু। ব্রাউজারগুলো দুই ধরনের বিষয়বস্তু ভিন্নভাবে বিবেচনা করে: মিডিয়া সাধারণত আপগ্রেডযোগ্য, তাই ব্রাউজার নিঃশব্দে এটি HTTPS-এ চাইবে, যদিও স্ক্রিপ্ট এবং স্টাইলশিট ব্লকযোগ্য এবং সরাসরি প্রত্যাখ্যান করা হয়, যে কারণে প্রভাবিত একটি পেজ সম্পূর্ণ স্টাইলহীন হয়ে আসতে পারে। Joomla-তে সাধারণ উৎসগুলো হলো টেমপ্লেট ওভাররাইড, মডিউল সেটিংস এবং থার্ড-পার্টি এক্সটেনশনে হার্ডকোডেড URL। ব্রাউজার কনসোল ক্ষতিগ্রস্ত রিসোর্সের নাম দেয়। মিশ্র বিষয়বস্তু কীভাবে ঠিক করবেন আমাদের গাইড নির্ণয়টি সম্পূর্ণভাবে কভার করে।

আপনার সাইটম্যাপ এবং robots.txt আপডেট করুন। XML সাইটম্যাপ পুনরায় তৈরি করুন যাতে এতে https URL তালিকাভুক্ত থাকে, এবং নিশ্চিত করুন robots.txt কিছুর http সংস্করণ উল্লেখ করছে না।

Joomla SSL সমস্যার সমাধান

Force HTTPS চালু করার পর অনেক রিডাইরেক্ট

এটি সবচেয়ে সাধারণ Joomla HTTPS ব্যর্থতা, এবং এটি ঘটে কারণ দুটি স্ট্যান্ডার্ড পরামর্শ পরস্পরের সাথে অসামঞ্জস্যপূর্ণ। যদি Cloudflare-এর মতো একটি প্রক্সি TLS টার্মিনেট করে এবং তারপর সাদামাটা HTTP-এর মাধ্যমে আপনার সার্ভারের সাথে কথা বলে, তাহলে Joomla কখনো একটি HTTPS রিকোয়েস্ট দেখে না। Force HTTPS ধারণা করে দর্শক অরক্ষিতভাবে এসেছে এবং তাদের HTTPS-এ রিডাইরেক্ট করে, প্রক্সি সেই রিকোয়েস্টের উত্তর আবার HTTP-এ দেয়, এবং লুপ চলতে থাকে যতক্ষণ না ব্রাউজার ERR_TOO_MANY_REDIRECTS দিয়ে হাল ছেড়ে দেয়।

এর দুটি সমাধান আছে এবং সাধারণত আপনার দুটোই প্রয়োজন হবে:

  • আপনার Cloudflare SSL/TLS এনক্রিপশন মোড Full (strict)-এ সেট করুন এবং অরিজিন সার্ভারে একটি বৈধ সার্টিফিকেট রাখুন। Flexible মোড, যা এখনো বেশ কিছু জনপ্রিয় Joomla টিউটোরিয়াল দ্রুত বিনামূল্যের বিকল্প হিসেবে সুপারিশ করে, তা-ই এই লুপ তৈরি করে।
  • Behind Load Balancer-কে Yes করুন। এটি একই System > Global Configuration > Server ট্যাবে, Proxy ব্লকে আরও নিচে রয়েছে। এটি Joomla-কে সরাসরি একটি HTTPS সংযোগ খোঁজার পরিবর্তে প্রক্সি থেকে আসা ফরওয়ার্ডেড প্রোটোকল হেডার বিশ্বাস করতে বলে।

দ্বিতীয় সেটিংটি নিয়ে একটি সতর্কতা: Behind Load Balancer শুধু তখনই চালু করুন যখন আপনার সাইট আসলেই একটি প্রক্সি, লোড ব্যালেন্সার বা CDN-এর পেছনে রয়েছে। একটি সাধারণ হোস্টে, যে কেউ পাঠাতে পারে এমন একটি ফরওয়ার্ডেড হেডার বিশ্বাস করা কোনো লাভ ছাড়াই নিরাপত্তাকে দুর্বল করে।

অন্যান্য সাধারণ সমস্যা

লক্ষণকারণসমাধান
অ্যাডমিনিস্ট্রেটর থেকে লকআউটসার্টিফিকেট অনুপস্থিত বা ভাঙা থাকার সময় Force HTTPS চালু ছিলFTP-এর মাধ্যমে configuration.php-তে $force_ssl 0-এ সেট করুন, সার্টিফিকেট ঠিক করুন, তারপর পুনরায় চালু করুন
রিডাইরেক্ট নিয়মগুলো কিছুই করছে নাএগুলো htaccess.txt-তে লেখা হয়েছিল, বা এখনও অস্তিত্বহীন একটি .htaccess ফাইলেhtaccess.txt-এর নাম পরিবর্তন করে .htaccess করুন
হোম পেজ ছাড়া প্রতিটি পেজ 404 রিটার্ন করছেনাম পরিবর্তনের আগে URL Rewriting চালু করা হয়েছিলফাইলটির নাম পরিবর্তন করুন, বা যতক্ষণ না করেছেন রিরাইটিং বন্ধ রাখুন
শুধু কিছু পেজে প্যাডলক অনুপস্থিতসেই পেজগুলোতে মিশ্র বিষয়বস্তুব্রাউজার কনসোলে HTTP রিসোর্স খুঁজুন
সাইট ঠিক ছিল, কয়েক সপ্তাহ পরে অনিরাপদ হয়ে গেলরিনিউয়াল ভেঙে যাওয়ায় একটি Let’s Encrypt সার্টিফিকেট মেয়াদোত্তীর্ণ হয়েছেপুনরায় ইস্যু করুন, তারপর আপনার প্যানেলে অটো-রিনিউয়াল নিশ্চিত করুন
ব্রাউজারে কাজ করে, একটি অ্যাপ বা গেটওয়ের জন্য ব্যর্থ হয়অসম্পূর্ণ সার্টিফিকেট চেইনসম্পূর্ণ CA বান্ডল ইনস্টল করুন, SSL Checker দিয়ে পুনরায় যাচাই করুন
www বা apex-এ নাম অমিলসার্টিফিকেট দুটি নামের মধ্যে একটিই কভার করেদুটো কভার করে পুনরায় ইস্যু করুন। দেখুন common name invalid

সার্টিফিকেট ইনস্টল করা থাকলেও যদি সাইট এখনও অনিরাপদ দেখায়, SSL এরর গাইড নির্দিষ্ট ব্রাউজার এরর কোড পরিচালনা করে।

সুইচের পরে: SEO চেকলিস্ট

  • Google Search Console-এ HTTPS প্রপার্টি যুক্ত করুন। একটি HTTP প্রপার্টি HTTPS URL রিপোর্ট করে না। নতুনটি যুক্ত করুন, বা একটি ডোমেইন প্রপার্টি ব্যবহার করুন, যা দুটোই কভার করে।
  • https URL দিয়ে সাইটম্যাপ পুনরায় সাবমিট করুন
  • আপনার SEF বা SEO এক্সটেনশনে ক্যানোনিকাল ট্যাগ https-এর দিকে ইঙ্গিত করছে কিনা যাচাই করুন।
  • আপনার সাইট URL সংরক্ষণ করে এমন অ্যানালিটিক্স এবং যে কোনো থার্ড-পার্টি সার্ভিস আপডেট করুন

কিছু পরিবর্তন প্রত্যাশা করুন। Google একটি HTTP থেকে HTTPS সুইচকে URL পরিবর্তন সহ একটি সাইট মুভ হিসেবে বিবেচনা করে, তাই কিছু সময়ের জন্য ইম্প্রেশনগুলো আপনার HTTP এবং HTTPS প্রপার্টির মধ্যে বিভক্ত দেখাবে এবং র্যাঙ্কিং স্থির হওয়ার আগে কয়েক সপ্তাহ প্রায়শই ওঠানামা করে। প্রতিটি পেজ সমাধান হয় এবং 301 রিডাইরেক্টগুলো জায়গায় থাকা পর্যন্ত, ঠিক করার কিছুই নেই।

HTTPS কিছুক্ষণ স্থিতিশীল থাকার পর, HSTS বিবেচনা করুন, যা ব্রাউজারদের আপনার ডোমেইনের জন্য সাদামাটা HTTP সম্পূর্ণভাবে প্রত্যাখ্যান করতে বলে। প্রথমে preload ডিরেক্টিভ বন্ধ রাখুন, কারণ এটি বিপরীত করা ধীর এবং HTTP-এ থাকা কোনো সাবডোমেইনকে অপ্রাপ্য করে দেবে।

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

Joomla-তে SSL কীভাবে সক্রিয় করবো?

প্রথমে আপনার হোস্টিং প্যানেলের মাধ্যমে বা ম্যানুয়ালি আপনার সার্ভারে একটি SSL সার্টিফিকেট ইনস্টল করুন। তারপর Joomla অ্যাডমিনিস্ট্রেটরে লগইন করুন, System > Global Configuration > Server খুলুন, এবং Force HTTPS-কে Entire Site-এ সেট করুন। Joomla নিজে সার্টিফিকেট ইনস্টল করে না। এটি শুধু আপনার সার্ভারে ইতিমধ্যে থাকা সার্টিফিকেটটি বাধ্যতামূলক করে।

Joomla-তে Force HTTPS সেটিং কোথায় আছে?

System > Global Configuration > Server ট্যাবে, এর উপরের Server ব্লকে। এতে তিনটি অবস্থা থাকে: None, Administrator Only, এবং Entire Site। যখন একটি সার্টিফিকেট এখনও ভ্যালিডেট হচ্ছে তখন Administrator Only উপযোগী, কারণ এটি দর্শকরা যা দেখেন তা পরিবর্তন না করেই আপনার লগইন সুরক্ষিত করে।

Force HTTPS চালু করার পর আমার Joomla সাইট “too many redirects” দেখাচ্ছে কেন?

প্রায় সবসময় এটি ঘটে কারণ Cloudflare-এর মতো একটি প্রক্সি TLS টার্মিনেট করে এবং সাদামাটা HTTP আপনার সার্ভারে পাস করে দেয়, তাই Joomla মনে করে প্রতিটি রিকোয়েস্ট অরক্ষিতভাবে এসেছে এবং সেটাকে আবার রিডাইরেক্ট করে। আপনার Cloudflare এনক্রিপশন মোড Flexible-এর বদলে Full (strict)-এ সেট করুন, এবং Global Configuration-এর Proxy ব্লকে Behind Load Balancer-কে Yes করুন। শুধু তখনই সেটিংটি চালু করুন যখন আপনি আসলেই একটি প্রক্সির পেছনে আছেন।

HTTPS ব্যবহার করতে আমাকে configuration.php সম্পাদনা করতে হবে কি?

না। Global Configuration ড্রপডাউন ফাইলে ধরে রাখা একই মান লিখে দেয়। configuration.php সম্পাদনা একটি পরিস্থিতিতেই গুরুত্বপূর্ণ: যখন Force HTTPS আপনাকে অ্যাডমিনিস্ট্রেটর থেকে লকআউট করে দিয়েছে, তখন আপনি FTP-এর মাধ্যমে $force_ssl আবার 0-এ সেট করতে পারেন। পুরনো টিউটোরিয়ালগুলো যা আপনাকে var $live_site পূরণ করতে বলে সেগুলো উপেক্ষা করুন। সেই সিনট্যাক্স ২০১২ সালে Joomla 1.5-এর সাথে অবসরে গিয়েছে, এবং সেটিংটি যেকোনো ক্ষেত্রেই ঐচ্ছিক।

আমার Joomla-তে .htaccess রিডাইরেক্ট কাজ করছে না কেন?

প্রথমে ফাইলের নাম যাচাই করুন। Joomla ফাইলটি htaccess.txt হিসেবে সরবরাহ করে এবং Apache সেই নামের অধীনে এটি উপেক্ষা করে, তাই এতে পেস্ট করা নিয়মগুলো কখনো চলে না। এটির নাম পরিবর্তন করে .htaccess করুন। ফাইলটি সঠিক থাকলে, কন্ডিশনটি যাচাই করুন: এটি RewriteCond %{HTTPS} off হতে হবে। “on” লেখা থাকলে এটি শুধু ইতিমধ্যে সুরক্ষিত রিকোয়েস্টগুলোর সাথে মিলে, যা একটি রিডাইরেক্টের বদলে একটি রিডাইরেক্ট লুপ তৈরি করে।

এই পদক্ষেপগুলো কোন Joomla সংস্করণে প্রযোজ্য?

Joomla 5 এবং Joomla 6, এই দুটি শাখা বর্তমানে সমর্থিত। Joomla 6.0 অক্টোবর ২০২৫-এ প্রকাশিত হয়েছে। Joomla 5 ১৩ অক্টোবর ২০২৬ পর্যন্ত কার্যকরী আপডেট এবং অক্টোবর ২০২৭ পর্যন্ত সিকিউরিটি প্যাচ পায়। Joomla 3 আগস্ট ২০২৩-এ এন্ড অফ লাইফ-এ পৌঁছেছে এবং এর কনফিগারেশন ভিন্নভাবে সাজানো, তাই এই পদক্ষেপগুলো অনুসরণ করার আগে আপডেট করুন।

একটি ভিন্ন প্ল্যাটফর্ম স্থানান্তর করছেন, বা সাধারণ প্রক্রিয়া চান? আমাদের গাইড দেখুন একটি সাইটকে HTTP থেকে HTTPS-এ কীভাবে স্থানান্তর করবেন

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।