Forward proxy va reverse proxy: farqi nimada va har biri nima uchun
Asoslar3 daqInnovialabs tahririyati
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 proxy | Reverse proxy | |
|---|---|---|
| Kimning nomidan ishlaydi | Mijozlar | Serverlar |
| Kim sozlaydi | Mijoz tomoni (brauzer, OT, tarmoq) | Sayt egasi (DNS proksiga yo‘naltiriladi) |
| Mijoz u haqida biladimi | Odatda ha | Odatda yo‘q |
| Asosiy maqsad | Nazorat, filtrlash, tarmoqqa chiqish, anonimlik | Tezlik, xavfsizlik, masshtablash |
| Misollar | Squid, korporativ shlyuzlar | nginx, HAProxy, Traefik, Cloudflare |
Ko‘p uchraydigan xatolar
- Mijozning haqiqiy IP sini yo‘qotish. Reverse proxy ortida ilova proksi manzilini ko‘radi.
X-Forwarded-Forni 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-Forni 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-Protoni uzating. - Ochiq forward proxy. Ommaviy IP dagi autentifikatsiyasiz proksidan tezda begonalar foydalana boshlaydi.
- Shaxsiy sahifalarni keshlash. Reverse proxy keshi cookie va
Cache-Controlni hisobga olishi kerak, aks holda bir foydalanuvchi boshqasining ma’lumotlarini ko‘radi.