Muhitni ajrating
Lokal rivojlantirish qulayligi production’da xavf bo‘lishi mumkin. DEBUG=False, kuchli maxfiy SECRET_KEY, aniq ALLOWED_HOSTS, HTTPS va secure cookie talab qilinadi. Django check --deploy muhim sozlamalarni tekshiradi, lekin to‘liq pentest emas.
Reverse proxy
Caddy yoki boshqa proxy TLS terminatsiya qilib ilovaga ichki tarmoq orqali ulanadi. X-Forwarded-Proto’ga faqat uni ishonchli proxy yozsa ishoning. Ilova porti internetga bevosita ochiq bo‘lsa, forwarded header tekshiruvi chalg‘itilishi mumkin.
Ishga tushirish ketma-ketligi
Baza tayyorligi, migratsiya, static fayllar, health endpoint, backup va tiklash testi tekshiriladi. Domen DNS va serverga kirish tayyor bo‘lgach HTTPS chiqariladi. Ushbu loyiha lokal tekshiruvdan keyingi Docker bosqichi uchun compose fayllarini beradi; domen avtomatik bog‘lanmaydi.
Python’da ko‘rib chiqamiz
config = {"debug": False, "secure_cookie": True, "https": True, "secret_in_code": False}
ready = not config["debug"] and config["secure_cookie"] and config["https"] and not config["secret_in_code"]
print(ready)Misolni
Mustaqil mashq
Lokal va production sozlamalari farqini jadvalga yozing. .env.example’dagi har bir qiymat maqsadini tushuntiring. check --deploy chiqishini ko‘rib qolgan talablarni qayd eting.