Veb-serveringizni shunday sozlangki, faqat ma’lum IP manzillardan Django admin paneliga kirish mumkin bo‘lsin.
Bu sizning veb-serveringiz turiga bog‘liq bo‘ladi, masalan nginx uchun shu linkdagi ko'rsatmalarga amal qiling.
Alternativ usul sifatida bu mantiqni middleware ichiga yozish mumkin, lekin Bu nazoratni web-server darajasida qilish afzal, chunki har bir middleware sizning view’laringiz atrofida qo‘shimcha mantiqiy qatlam hosil qiladi.
Nginx web serverda buni qanday amalga oshirishni ko'ramiz:
upstream app_servers {
server 127.0.0.1:8000;
}
server {
listen 80;
location ^~ /admin/ {
allow 123.456.789.012;
allow 123.456.789.013; # va yana bir nechta IP manzilni qoshishingiz mumkin
deny all;
proxy_pass http://app_servers;
proxy_read_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass http://app_servers;
proxy_read_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}@murodalidev ✅