متن خبر

نحوه استقرار برنامه های Flask در Vultr

نحوه استقرار برنامه های Flask در Vultr

شناسهٔ خبر: 716813 -




مقدمه

Flask یک فریمورک پایتون برای ساخت برنامه های کاربردی وب است. با Flask، توسعه‌دهندگان به راحتی می‌توانند مسیرها را تعریف کنند، درخواست‌ها و پاسخ‌های HTTP را مدیریت کنند و محتوای پویا را با استفاده از قالب‌های Jinja2 ارائه دهند. همچنین از برنامه‌های گفت نی پشتیبانی می‌کند که به توسعه‌دهندگان اجازه می‌دهد آپشن های ی مانند دسترسی به پایگاه داده، مدیریت فرم و احراز هویت کاربر را ادغام کنند.

در این مقاله قصد داریم یک اپلیکیشن Flask را با استفاده از Gunicorn به همراه حفاظت CSRF و اجرای سیاست های امنیت محتوا اجرا کنیم. همچنین قصد داریم با استفاده از Nginx یک پروکسی معکوس راه اندازی کنیم و با درخواست گواهی SSL رایگان از Let's Encrypt، HTTPS را پیاده سازی کنیم.

استقرار Vultr Optimized Cloud Instance

    ثبت نام کنید و وارد پورتال مشتریان Vultr شوید.

    به صفحه محصولات بروید.

    از منوی کناری، Compute را انتخاب کنید.

    روی دکمه Deploy Server در مرکز کلیک کنید.

    Optimized Cloud Compute را به عنوان نوع سرور انتخاب کنید.

    مکان سرور را انتخاب کنید.

    اوبونتو 24.04 را به عنوان سیستم عامل انتخاب کنید.

    یک طرح مناسب انتخاب کنید.

    در صورت لزوم، هر ویژگی اضافی را انتخاب کنید.

    روی Deploy Now کلیک کنید.

فایل های کد برنامه آزمایشی خود را اضافه کنید

یک محیط مجازی پایتون راه اندازی کنید

    بسته python3-venv را نصب کنید

    یک محیط مجازی ایجاد کنید.

    محیط مجازی را فعال کنید.

فایل های کد برنامه آزمایشی را اضافه کنید

    مخزن Github را شبیه سازی کنید.

    به دایرکتوری پروژه بروید.

    بسته های Flask و Gunicorn را نصب کنید.

    به اتصالات ورودی به پورت 5000 اجازه دهید.

سیاست های حفاظت CSRF و امنیت محتوا را اعمال کنید

جعل درخواست متقابل سایت (CORS) آسیب‌پذیری است که به شخصی اجازه می‌دهد تا از جلسه ورود کاربر در یک وب‌سایت مورد اعتماد برای درخواست‌های غیرمجاز به وب‌سایت دیگری که کاربر به آن اعتماد دارد، سوء استفاده کرده و از مزایای آن استفاده کند. WTForms یک افزونه Flask است که به طور پیش فرض محافظت CSRF را برای جلوگیری از حملات CORS یکپارچه می کند.

سیاست امنیتی محتوا (CSP) یک لایه امنیتی اضافی برای برنامه های کاربردی وب است که از آنها در برابر حملات مخرب محافظت می کند. CSP به مرورگر دستور می دهد که چه منابعی مجاز به بارگیری در یک صفحه وب خاص هستند. معمولاً مدیر وب‌سایت یک CSP را با گفت ن یک هدر ویژه به پاسخ سرور برای یک صفحه وب پیکربندی می‌کند، سپس مرورگر هدر CSP را دریافت می‌کند و می‌فهمد چه منابعی مجاز به بارگیری هستند. Talisman یک افزونه برای Flask است که فرآیند گفت ن CSP به برنامه های Flask را ساده می کند.

    بسته های flask-wtf و talisman را نصب کنید

    فایل app.py باز کنید.

    فایل app.py را ویرایش کنید تا خط‌مشی‌های امنیتی محتوا را شامل شود.

    در فایل app.py ، حفاظت CSRF را وارد و پیکربندی کنید.

    فایل را ذخیره کرده و ببندید.

    به فهرست templates بروید.

    فایل index.html باز کنید.

    صفحه HTML را ویرایش کنید تا شامل پیکربندی CSRF شود.

    فایل را ذخیره کرده و ببندید.

    از فهرست templates خارج شوید.

پیکربندی Nginx به عنوان یک پروکسی معکوس

Nginx به عنوان یک پروکسی معکوس بین وب سرور و مشتریان شما عمل می کند. این درخواست های دریافتی را بر اساس تنظیمات پیکربندی درخواست شما هدایت می کند. در این بخش، ما قصد داریم برنامه خود را برای پروکسی معکوس برای مدیریت کارآمد درخواست و تعادل بار پیکربندی کنیم. همچنین می‌خواهیم یک گواهی رایگان SSL از Let's Encrypt برای پیاده‌سازی HTTPS که ارتباط بین کاربر و وب سرور دامنه ما را ایمن می‌کند، درخواست کنیم.

    وارد پورتال مشتریان Vultr شوید.

    به صفحه محصولات بروید.

    از منوی کناری، منوی کشویی Network را باز کرده و DNS را انتخاب کنید.

    روی دکمه Add Domain در مرکز کلیک کنید.

    برای گفت ن نام دامنه خود با انتخاب آدرس IP سرور خود، مراحل راه اندازی را دنبال کنید.

    نام هاست زیر را به عنوان سرورهای نام اصلی و ثانویه دامنه خود با ثبت کننده دامنه خود تنظیم کنید.

    Nginx را نصب کنید.

    یک فایل پیکربندی جدید Nginx ایجاد کنید.

    پیکربندی زیر را در فایل قرار دهید.

    پیکربندی میزبان مجازی را فعال کنید.

    تنظیمات Nginx را تست کنید.

    بارگیری مجدد Nginx

    اتصالات ورودی به پورت 80 و 443 را مجاز کنید.

    بسته certbot را نصب کنید.

    درخواست گواهی SSL

    یک سرور Gunicorn راه اندازی کنید.

    اکنون می توانید به برنامه Flask خود در https://<your_domain> دسترسی داشته باشید.

با برنامه های پایتون در Vultr کارهای بیشتری انجام دهید

نتیجه گیری

در این مقاله، نحوه استقرار یک برنامه Flask با استفاده از پراکسی معکوس Nginx و Gunicorn با حفاظت CSRF و CSP را تحلیل کردیم. ما همچنین با گفت ن گواهی SSL و فعال کردن دسترسی HTTPS، برنامه را ایمن کردیم.

این یک مقاله حمایت شده توسط Vultr است. Vultr بزرگترین پلتفرم محاسبات ابری خصوصی در جهان است. Vultr که مورد علاقه توسعه دهندگان است، با راه حل های Cloud Compute، Cloud GPU، Bare Metal و Cloud Storage انعطاف پذیر، مقیاس پذیر، به بیش از 1.5 میلیون مشتری در 185 کشور خدمات رسانی کرده است. درباره Vultr بیشتر بدانید

خبرکاو

ارسال نظر

دیدگاه‌ها بسته شده‌اند.


تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است