Asosiy kontentga o‘tish
Innovialabs

Forward proxy va reverse proxy: farqi nimada va har biri nima uchun

Asoslar3 daq

Qisqacha

Forward proxy mijozlar oldida turadi va ularning so‘rovlarini o‘z nomidan internetga yuboradi; reverse proxy serverlar oldida turadi va internetdan kelgan so‘rovlarni ular o‘rniga qabul qiladi.

Qisqacha javob

Ikkalasi ham mijoz va server o‘rtasidagi vositachi. Farq — ular kimning tomonida ekanida:

  • Forward proxy (to‘g‘ri proksi) mijozlar uchun ishlaydi. Mijoz proksi haqida biladi va trafikni ataylab u orqali yuboradi. Manzil server mijozni emas, proksini ko‘radi.
  • Reverse proxy (teskari proksi) serverlar uchun ishlaydi. Mijoz odatda u haqida bilmaydi: u «saytga» ulanadi, qaysi backend javob berishini esa proksi hal qiladi.

Oson eslab qolish uchun: forward proxy mijozlarni serverlardan yashiradi, reverse proxy serverlarni mijozlardan yashiradi.

So‘rov qanday o‘tadi

Forward proxy:

[Noutbuk] --> [Forward proxy] --> internet --> [example.com]
  proksiga       qoidalarni tekshiradi,      proksi IP sini ko‘radi
  sozlangan      loglaydi, keshlaydi

Reverse proxy:

[Brauzer] --> internet --> [Reverse proxy] --> [app-server 1]
  example.com              TLS, marshrut,  \-> [app-server 2]
  bilan gaplashyapman      kesh, limitlar   \-> [statik fayllar]
  deb o‘ylaydi

Birinchi holatda proksi foydalanuvchi tashkilotiga tegishli. Ikkinchisida — sayt egasiga.

Forward proxy nima uchun kerak

  • Korporativ filtrlash: sayt toifalarini bloklash, tarmoqdan foydalanish qoidalariga rioya qilish.
  • Chiquvchi trafikni xavfsizlik jamoasi uchun loglash va audit qilish.
  • Nazorat qilinadigan chiqish: yopiq tarmoqdagi serverlar internetga bitta ma’lum manzil orqali chiqadi, uni hamkor oq ro‘yxatga osongina qo‘shadi.
  • Tez-tez yuklanadigan narsalarni keshlash, masalan build tarmog‘idagi paket ko‘zgulari.
  • Boshqa joydan kirish, VPN ga o‘xshash. Farqi: proksi odatda alohida protokol yoki ilovalarga xizmat qiladi, VPN esa qurilmaning butun trafigini tunnel orqali o‘tkazadi.

Klassik misol — Squid. Ko‘plab korporativ xavfsizlik shlyuzlari va bulutli secure web gateway mahsulotlari ham aslida forward proxy.

Reverse proxy nima uchun kerak

  • TLS termination: sertifikatlar proksida saqlanadi va HTTPS shu yerda qayta ishlanadi, backendlar esa yopiq tarmoq ichida oddiy HTTP orqali gaplashadi.
  • Ilovaning bir nechta nusxasi o‘rtasida yuklamani taqsimlash.
  • Marshrutlash: /api — bitta servisga, / — frontendga, /static — fayl omboriga.
  • Javoblarni keshlash va statik fayllarni tez berish.
  • Himoya: rate limiting, so‘rov hajmini cheklash, WAF, ichki tuzilmani yashirish.
  • To‘xtovsiz deploy: trafikni eski va yangi versiya o‘rtasida almashtirish.

Odatiy misollar: nginx, HAProxy, Traefik, Envoy, shuningdek Cloudflare kabi CDN — aslida serveringiz oldidagi global taqsimlangan reverse proxy.

nginx dagi eng oddiy reverse proxy:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/ssl/example.crt;
    ssl_certificate_key /etc/ssl/example.key;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Taqqoslash

Forward proxyReverse proxy
Kimning nomidan ishlaydiMijozlarServerlar
Kim sozlaydiMijoz tomoni (brauzer, OT, tarmoq)Sayt egasi (DNS proksiga yo‘naltiriladi)
Mijoz u haqida biladimiOdatda haOdatda yo‘q
Asosiy maqsadNazorat, filtrlash, tarmoqqa chiqish, anonimlikTezlik, xavfsizlik, masshtablash
MisollarSquid, korporativ shlyuzlarnginx, HAProxy, Traefik, Cloudflare

Ko‘p uchraydigan xatolar

  • Mijozning haqiqiy IP sini yo‘qotish. Reverse proxy ortida ilova proksi manzilini ko‘radi. X-Forwarded-For ni uzating va unga faqat proksi tomonidan ishoning.
  • Har kimning sarlavhalariga ishonish. Agar backendga to‘g‘ridan-to‘g‘ri kirish mumkin bo‘lsa, mijoz X-Forwarded-For ni soxtalashtiradi. Backendlarni yopiq tarmoqda saqlang.
  • Redirectlarda noto‘g‘ri sxema. TLS proksida tugasa, ilova so‘rov HTTP orqali keldi deb o‘ylaydi va http:// havolalar yasaydi. X-Forwarded-Proto ni uzating.
  • Ochiq forward proxy. Ommaviy IP dagi autentifikatsiyasiz proksidan tezda begonalar foydalana boshlaydi.
  • Shaxsiy sahifalarni keshlash. Reverse proxy keshi cookie va Cache-Control ni hisobga olishi kerak, aks holda bir foydalanuvchi boshqasining ma’lumotlarini ko‘radi.

Ko‘p beriladigan savollar

HTTP load balancer reverse proxy ning bir turi: u mijoz so‘rovlarini qabul qilib, serverlardan biriga uzatadi. Ba’zi tarmoq darajasidagi balanserlar ulanishni tugatmasdan paketlarni shunchaki uzatadi — qat’iy ma’noda ular proksi emas.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.