এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে কীভাবে Certificate Manager ব্যবহার করে Google Cloud Platform-এ একটি SSL সার্টিফিকেট ইনস্টল করবেন। এছাড়াও আপনি শিখবেন কীভাবে Google Cloud-এর জন্য একটি CSR (Certificate Signing Request) তৈরি করবেন, এবং কীভাবে সার্টিফিকেটটি একটি HTTPS লোড ব্যালেন্সারে ডিপ্লয় করবেন।
Google Cloud Platform-এ একটি CSR কোড তৈরি করুন
একটি CSR কোড ছাড়া আপনি SSL সার্টিফিকেট অর্ডার করতে পারবেন না। CSR মানে Certificate Signing Request, একটি এনকোডেড টেক্সট ব্লক যাতে আবেদনকারীর বিবরণ থাকে। Certificate Authority সার্টিফিকেট ইস্যু করার আগে আপনার ডোমেইন এবং প্রতিষ্ঠান যাচাই করার জন্য CSR ব্যবহার করে।
Google Cloud-এ আপনার জন্য CSR তৈরি করার মতো কোনো বিল্ট-ইন ফর্ম নেই, তাই আপনাকে নিজের মেশিনে OpenSSL দিয়ে CSR এবং তার প্রাইভেট কী তৈরি করতে হবে। আপনার কাছে দুটি বিকল্প রয়েছে:
- আমাদের CSR Generator দিয়ে স্বয়ংক্রিয়ভাবে CSR তৈরি করুন।
- Google Cloud Platform-এ CSR কীভাবে তৈরি করবেন সংক্রান্ত আমাদের ধাপে ধাপে টিউটোরিয়াল অনুসরণ করুন।
প্রাইভেট কীটি নিরাপদ রাখুন। যখন আপনি সার্টিফিকেটটি Certificate Manager-এ আপলোড করবেন, তখন আপনার এটি আবার প্রয়োজন হবে। আপনার অর্ডারের সময় Certificate Authority-কে CSR জমা দিন, এবং সার্টিফিকেট ইস্যু হওয়ার পর, নিচের ইনস্টলেশন প্রক্রিয়ার সঙ্গে এগিয়ে যান।
Google Cloud Platform-এ একটি SSL সার্টিফিকেট ইনস্টল করুন
Google Cloud-এ, একটি তৃতীয়-পক্ষের (নিজস্বভাবে সরবরাহকৃত) সার্টিফিকেটকে বলা হয় সেলফ-ম্যানেজড সার্টিফিকেট। আপনি এটি Certificate Manager-এ আপলোড করেন, তারপর একটি HTTPS লোড ব্যালেন্সারে ডিপ্লয় করেন। শুরু করার আগে নিশ্চিত করুন যে আপনার কাছে রয়েছে:
- Certificate Authority থেকে প্রাপ্ত আপনার স্বাক্ষরিত সার্টিফিকেট ফাইল।
- CSR-এর সাথে আপনার তৈরি করা প্রাইভেট কী।
- Google Cloud Console এবং gcloud CLI-তে অ্যাক্সেস।
- আপনার ডোমেইন পরিবেশন করছে এমন একটি বিদ্যমান HTTPS লোড ব্যালেন্সার (একটি টার্গেট HTTPS প্রক্সি সহ একটি এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার)। সার্টিফিকেটটি এই লোড ব্যালেন্সারের সাথে সংযুক্ত হয়।
ধাপ ১: আপনার সার্টিফিকেট ফাইল প্রস্তুত করুন
Certificate Authority আপনার অনুরোধ যাচাই করার পর, তারা আপনাকে একটি ZIP আর্কাইভ ইমেইল করে। এটি এক্সট্র্যাক্ট করুন এবং নিচের ফাইলগুলো খুঁজুন:
- yourdomain.crt, আপনার সার্ভার সার্টিফিকেট।
- yourdomain.ca-bundle, ইন্টারমিডিয়েট সার্টিফিকেটগুলো।
- yourdomain.key, CSR-এর সাথে আপনার তৈরি করা প্রাইভেট কী।
ধাপ ২: সার্টিফিকেট এবং চেইন একত্রিত করুন
Certificate Manager একটি একক PEM ফাইল আশা করে যাতে প্রথমে আপনার সার্ভার সার্টিফিকেট থাকে, তারপর ইন্টারমিডিয়েট সার্টিফিকেটগুলো, এই ক্রমে। আপনার ফাইল যেখানে রাখা আছে সেই ফোল্ডারে একটি টার্মিনাল খুলুন এবং চালান:
cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt
এটি একটি PEM-ফরম্যাটেড ফাইল তৈরি করে যাতে আপনার সার্টিফিকেট এবং ইন্টারমিডিয়েট চেইন সঠিক ক্রমে থাকে। সার্টিফিকেট ফাইলটি অবশ্যই —–BEGIN CERTIFICATE—– দিয়ে শুরু হতে হবে এবং —–END CERTIFICATE—– দিয়ে শেষ হতে হবে।
এখন প্রাইভেট কীটি পরীক্ষা করুন। Certificate Manager-এর প্রয়োজন যে এটি হতে হবে:
- PEM-ফরম্যাটেড এবং এনক্রিপ্ট না করা (কোনো পাসফ্রেজ নেই)।
- PKCS#8 ফর্মে থাকতে হবে, তাই এটি —–BEGIN PRIVATE KEY—– দিয়ে শুরু হবে, —–BEGIN RSA PRIVATE KEY—– দিয়ে নয়।
- RSA (2048, 3072, বা 4096 বিট) বা ECDSA (P-256 বা P-384)।
যদি আপনার কী —–BEGIN RSA PRIVATE KEY—– (PKCS#1) দিয়ে শুরু হয়, তাহলে এটিকে Certificate Manager গ্রহণ করে এমন PKCS#8 ফর্মে রূপান্তর করুন:
openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key
নিচের আপলোড ধাপগুলোতে ফলাফল yourdomain_pkcs8.key ব্যবহার করুন। যদি আপনার কী পাসফ্রেজ-সুরক্ষিত হয়, এই কমান্ডটি আপনাকে পাসফ্রেজের জন্য জিজ্ঞাসা করবে এবং একটি এনক্রিপ্ট না করা কপি লিখে দেবে।
ধাপ ৩: Certificate Manager-এ সার্টিফিকেট আপলোড করুন
আপনি Console থেকে বা gcloud দিয়ে সেলফ-ম্যানেজড সার্টিফিকেট আপলোড করতে পারেন। যেটি আপনার পছন্দ সেটি ব্যবহার করুন; ফলাফল একই Certificate Manager রিসোর্স।
বিকল্প A, Google Cloud Console:
- Google Cloud Console-এ সাইন ইন করুন এবং আপনার প্রজেক্ট নির্বাচন করুন।
- Certificate Manager খুলুন (Network Security এলাকায় Security-এর অধীনে), তারপর Certificates ট্যাব নির্বাচন করুন।
- Add Certificate নির্বাচন করুন।
- সার্টিফিকেটকে একটি নাম দিন, তারপর Certificate type-এর জন্য Create self-managed certificate নির্বাচন করুন।
- Location-এর জন্য, একটি গ্লোবাল লোড ব্যালেন্সারের জন্য Scope Default সহ Global নির্বাচন করুন, বা একটি রিজিওনাল লোড ব্যালেন্সারের জন্য Regional এবং আপনার অঞ্চল নির্বাচন করুন।
- সার্টিফিকেট হিসেবে fullchain.crt এবং প্রাইভেট কী হিসেবে আপনার PKCS#8 প্রাইভেট কী আপলোড করুন, তারপর Create নির্বাচন করুন।
বিকল্প B, gcloud CLI: একটি কমান্ডে একই সার্টিফিকেট তৈরি করুন। MY_CERT-কে আপনার পছন্দের নামে প্রতিস্থাপন করুন:
gcloud certificate-manager certificates create MY_CERT
--certificate-file=fullchain.crt
--private-key-file=yourdomain_pkcs8.key
যেকোনো ক্ষেত্রেই, সার্টিফিকেটটি এখন Certificate Manager-এ থাকে, কিন্তু এটি এখনও কোনো ট্র্যাফিকের সাথে সংযুক্ত নয়। পরের ধাপে এটি ডিপ্লয় করা হয়।
ধাপ ৪: আপনার লোড ব্যালেন্সারে সার্টিফিকেট ডিপ্লয় করুন
Certificate Manager একটি সার্টিফিকেট ম্যাপ-এর মাধ্যমে একটি সার্টিফিকেট ডিপ্লয় করে। আপনি একটি ম্যাপ তৈরি করেন, একটি এন্ট্রি যুক্त করেন যা একটি হোস্টনেমকে আপনার সার্টিফিকেটের দিকে নির্দেশ করে, তারপর ম্যাপটিকে আপনার লোড ব্যালেন্সারের টার্গেট HTTPS প্রক্সির সাথে যুক্ত করেন। এই কমান্ডগুলো gcloud দিয়ে চালান।
একটি সার্টিফিকেট ম্যাপ তৈরি করুন:
gcloud certificate-manager maps create MY_MAP
আপনার হোস্টনেমের জন্য একটি ম্যাপ এন্ট্রি যুক্ত করুন। MY_CERT-কে আপনার আপলোড করা সার্টিফিকেটের নামে এবং yourdomain.com-কে আপনি যে ডোমেইন সুরক্ষিত করতে চান তার সাথে প্রতিস্থাপন করুন:
gcloud certificate-manager maps entries create my-entry
--map=MY_MAP
--certificates=MY_CERT
--hostname=yourdomain.com
ম্যাপটি আপনার বিদ্যমান টার্গেট HTTPS প্রক্সির সাথে যুক্ত করুন। MY_PROXY-কে আপনার লোড ব্যালেন্সারের সামনে থাকা প্রক্সির নামে প্রতিস্থাপন করুন:
gcloud compute target-https-proxies update MY_PROXY
--certificate-map=MY_MAP
--global
যদি আপনার লোড ব্যালেন্সার রিজিওনাল হয়, তাহলে --global ফ্ল্যাগটি বাদ দিন এবং --region=YOUR_REGION যুক্ত করুন। লোড ব্যালেন্সার এখন সেই হোস্টনেমের জন্য আসা HTTPS ট্র্যাফিকের জন্য আপনার সার্টিফিকেট পরিবেশন করে। সার্টিফিকেট পরিবর্তনগুলো লোড ব্যালেন্সার জুড়ে প্রচারিত হতে কয়েক মিনিট সময় নিতে পারে।
আপনার SSL ইনস্টলেশন পরীক্ষা করুন
সার্টিফিকেট ডিপ্লয় করার পর, নিশ্চিত করুন যে লোড ব্যালেন্সার এটি সঠিকভাবে পরিবেশন করছে এবং চেইনটি সম্পূর্ণ। OpenSSL সহ যেকোনো মেশিন থেকে, আপনার ডোমেইনে সংযোগ করুন এবং এটি যে সার্টিফিকেট ফেরত দেয় তা পড়ুন:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates
এটি বর্তমানে ব্যবহৃত সার্টিফিকেটের ইস্যুকারী, সাবজেক্ট এবং বৈধতার তারিখগুলো প্রিন্ট করে। সার্টিফিকেট এবং তার কনফিগারেশন সম্পর্কে একটি সম্পূর্ণ রিপোর্টের জন্য, যাতে চেইন এবং প্রোটোকল যাচাই অন্তর্ভুক্ত থাকে, আমাদের SSL Checker-এর মাধ্যমে আপনার ডোমেইন চালান, বা ব্রাউজারে সাইটটি খুলে প্যাডলক আইকনটি পরীক্ষা করুন।
প্রায়ই জিজ্ঞাসিত প্রশ্নাবলী
না। Google Cloud-এ কোনো কনসোল ফর্ম নেই যা একটি সেলফ-ম্যানেজড সার্টিফিকেটের জন্য CSR বা প্রাইভেট কী তৈরি করে। আপনি নিজের মেশিনে OpenSSL দিয়ে (বা আমাদের CSR Generator দিয়ে) CSR এবং কী তৈরি করেন, সার্টিফিকেট অর্ডার করেন, তারপর ইস্যু করা সার্টিফিকেট এবং প্রাইভেট কী Certificate Manager-এ আপলোড করেন।
একটি সেলফ-ম্যানেজড সার্টিফিকেট হলো যেটি আপনি একটি Certificate Authority থেকে পান এবং নিজেই আপলোড করেন, এবং এটি নবায়ন করার দায়িত্ব আপনার। একটি Google-ম্যানেজড সার্টিফিকেট Google দ্বারা স্বয়ংক্রিয়ভাবে প্রদান করা হয় এবং নবায়ন করা হয়। এই টিউটোরিয়ালটি সেলফ-ম্যানেজড সার্টিফিকেট নিয়ে আলোচনা করে, যা SSL Dragon থেকে একটি পেইড সার্টিফিকেটের জন্য আপনার অনুসরণ করা পথ।
সবচেয়ে সাধারণ কারণ হলো কী ফরম্যাট। Certificate Manager-এর একটি এনক্রিপ্ট না করা PKCS#8 কী প্রয়োজন যা —–BEGIN PRIVATE KEY—– দিয়ে শুরু হয়। যদি আপনার কী —–BEGIN RSA PRIVATE KEY—– দিয়ে শুরু হয় বা পাসফ্রেজ-সুরক্ষিত হয়, তাহলে openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key দিয়ে এটি রূপান্তর করুন এবং রূপান্তরিত ফাইলটি আপলোড করুন।
Certificate Manager-এ একটি সার্টিফিকেট আপলোড করা শুধু এটি সংরক্ষণ করে। আপনি এটি ডিপ্লয় না করা পর্যন্ত এটি ট্র্যাফিক পরিবেশন করে না। একটি সার্টিফিকেট ম্যাপ তৈরি করুন, আপনার হোস্টনেমের জন্য একটি ম্যাপ এন্ট্রি যুক্ত করুন, এবং ম্যাপটি আপনার লোড ব্যালেন্সারের টার্গেট HTTPS প্রক্সির সাথে সংযুক্ত করুন (ধাপ ৪)। ম্যাপ সংযুক্ত না হওয়া পর্যন্ত, লোড ব্যালেন্সার আপনার সার্টিফিকেট উপস্থাপন করে না।
আপনার সার্ভার (লিফ) সার্টিফিকেট প্রথমে যায়, তারপর ইন্টারমিডিয়েট সার্টিফিকেটগুলো, একটি একক PEM ফাইলে। কমান্ড cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt এই ক্রম তৈরি করে। একটি অনুপস্থিত বা ভুল ক্রমের চেইন হলো ব্রাউজার এবং SSL checker গুলো একটি অসম্পূর্ণ সার্টিফিকেট পাথ রিপোর্ট করার একটি ঘন ঘন কারণ।
আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!
দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10


