نحوه استقرار برنامه های Flask در Vultr
مقدمه
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 کلیک کنید.
فایل های کد برنامه آزمایشی خود را اضافه کنید
یک محیط مجازی پایتون راه اندازی کنید
فایل های کد برنامه آزمایشی را اضافه کنید
سیاست های حفاظت CSRF و امنیت محتوا را اعمال کنید
جعل درخواست متقابل سایت (CORS) آسیبپذیری است که به شخصی اجازه میدهد تا از جلسه ورود کاربر در یک وبسایت مورد اعتماد برای درخواستهای غیرمجاز به وبسایت دیگری که کاربر به آن اعتماد دارد، سوء استفاده کرده و از مزایای آن استفاده کند. WTForms یک افزونه Flask است که به طور پیش فرض محافظت CSRF را برای جلوگیری از حملات CORS یکپارچه می کند.
بیشتر بخوانید
استارتاپ لجستیک حمل و نقل Harbor Lab 16 میلیون دلار سری A به رهبری Atomico جمع آوری کرد.
سیاست امنیتی محتوا (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 بیشتر بدانید
ارسال نظر