برنامه نویسی

از محلی به زنده: استقرار صفحه فرود من در AWS با SSL

هی جامعه توسعه دهنده! امروز مشتاقم سفر خود را برای استقرار یک صفحه فرود در AWS EC2 با گواهینامه SSL و دامنه سفارشی به اشتراک بگذارم. بیایید به فرآیند دقیق از تهیه سرور تا استقرار نهایی بپردازیم.

بررسی اجمالی پروژه

من یک صفحه فرود با استفاده از HTML، CSS و جاوا اسکریپت ایجاد کردم که همگی در یک فایل واحد قرار دارند. هدف این بود که آن را به صورت ایمن در AWS EC2 مستقر کنیم و از طریق HTTPS در دسترس قرار دهیم. در اینجا این است که چگونه آن را انجام دادم.

تامین سرور در AWS EC2

اولین قدم راه اندازی زیرساخت سرور بود:

  1. ایجاد نمونه EC2

    • وارد کنسول مدیریت AWS شده‌اید
    • سرور اوبونتو 22.04 LTS را به عنوان AMI انتخاب کرد
    • نوع نمونه t2.micro را انتخاب کنید (مناسب برای سطح رایگان!)
    • گروه های امنیتی را برای اجازه دادن به ترافیک ورودی در پورت ها تنظیم کنید:
      • پورت 80 (HTTP)
      • پورت 443 (HTTPS)
      • پورت 22 (SSH)
  2. دسترسی به سرور

    • با استفاده از SSH با جفت کلید من به سرور متصل شد
    • از دستور استفاده کرد: ssh -i my-aws-key.pem ubuntu@3.84.13.68
    • با استفاده از امتیازات روت ارتقا یافته است sudo -i برای مدیریت راحت تر

راه اندازی وب سرور

مرحله مهم بعدی نصب و پیکربندی آپاچی بود:

  1. نصب آپاچی

    • بسته های سرور را به روز کرد
    • وب سرور آپاچی نصب شده است
    • نصب را با بررسی وضعیت آپاچی تأیید کنید
    • آپاچی را فعال کرد تا به طور خودکار در هنگام بوت شروع شود
  2. استقرار پروژه

    • یک دایرکتوری اختصاصی برای پروژه ایجاد کرد
    • فایل های پروژه را از GitHub دانلود کرد
    • ابزارهای لازم نصب شده (مانند unzip)
    • فایل ها را به دایرکتوری ریشه آپاچی منتقل کرد
    • برای اعمال تغییرات، آپاچی را مجددا راه اندازی کرد

پیکربندی دامنه و راه اندازی SSL

این بخش هیجان انگیز بود – ایمن و حرفه ای کردن سایت:

  1. راه اندازی دامنه

    • دامنه 'osagieanolu.engineer' را از name.com خریداری کردم
    • آدرس IP نمونه EC2 من را به دامنه پیوند داد
    • رکوردهای DNS مناسب را تنظیم کنید
  2. نصب گواهی SSL

    • منیجر بسته اسنپد نصب شده است
    • از Certbot برای تولید گواهی SSL استفاده کرد
    • تمدید گواهینامه خودکار پیکربندی شده است
    • برای بررسی های تمدید دو بار در روز یک cron job راه اندازی کنید

سس مخفی: پیکربندی Certbot

راه اندازی SSL به خصوص جالب بود. Certbot این فرآیند را به طرز شگفت انگیزی ساده کرد:

  1. فرآیند نصب

    • Certbot را از طریق Snap نصب کرد
    • از پلاگین آپاچی برای پیکربندی خودکار استفاده کرد
    • از دستورات تعاملی برای تأیید دامنه پیروی کرد
  2. راه اندازی اتوماسیون

    • تمدید خودکار پیکربندی شده
    • نصب گواهی را تأیید کرد
    • برای جلوگیری از هرزنامه اعلان، فرآیندهای تمدید بی سر و صدا را تنظیم کنید

چالش ها و راه حل ها

در طول استقرار، من با چندین چالش مواجه شدم:

  1. مسائل مربوط به مجوز

    • در ابتدا با مجوزهای فایل در مشکل بود /var/www/html/
    • با تنظیم صحیح حقوق مالکیت و دسترسی حل شد
  2. انتشار DNS

    • باید منتظر بود تا تغییرات DNS منتشر شود
    • از ابزارهای جستجوی DNS برای تأیید تغییرات استفاده کرد
  3. پیکربندی آپاچی

    • برای تنظیم تنظیمات پیش فرض آپاچی لازم است
    • از تنظیم مناسب میزبان مجازی برای SSL اطمینان حاصل کنید

نتایج نهایی

توضیحات تصویر
استقرار موفقیت آمیز بود! صفحه فرود اکنون در https://osagieanolu.engineer فعال است با:

  • اتصال امن HTTPS
  • گواهی SSL معتبر
  • تمدید خودکار گواهینامه
  • ساختار URL را تمیز کنید

خوراکی های کلیدی

این پروژه چندین درس ارزشمند به من آموخت:

  1. همیشه از قبل برنامه ریزی کنید

    • داشتن یک استراتژی استقرار روشن باعث صرفه جویی در زمان می شود
    • هر مرحله را برای مراجعات بعدی مستند کنید
  2. اول امنیت

    • SSL برای برنامه های کاربردی وب مدرن بسیار مهم است
    • تمدید گواهینامه به طور منظم ضروری است
  3. نظارت مهم است

    • بررسی منظم وضعیت سرور
    • نظارت بر انقضای گواهینامه SSL

مراحل بعدی

بهبودهای آتی که در نظر دارم:

  1. راه اندازی CDN برای عملکرد بهتر
  2. پیاده سازی ابزارهای مانیتورینگ سرور
  3. اضافه کردن اتوماسیون پشتیبان
  4. بهینه سازی پیکربندی آپاچی برای عملکرد بهتر

برای کسانی که دنبال همراه

اگر قصد استقرار مشابهی دارید، در اینجا چند نکته وجود دارد:

  • همه تنظیمات گروه امنیتی را دوباره بررسی کنید
  • کلید SSH خود را ایمن نگه دارید
  • پیکربندی سرور خود را مستند کنید
  • تنظیمات SSL خود را به طور کامل تست کنید

نتیجه گیری

استقرار یک صفحه فرود در AWS با SSL ممکن است در ابتدا دلهره آور به نظر برسد، اما تقسیم آن به مراحل آن را قابل مدیریت می کند. ترکیبی از AWS EC2، Apache و Certbot پایه ای قوی برای میزبانی برنامه های وب ایمن فراهم می کند.

آیا اخیراً پروژه ای را روی AWS مستقر کرده اید؟ با چه چالش هایی روبرو بودید؟ بیایید در نظرات زیر بحث کنیم!


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا